空函数有参函数调用参数的注意事项Swift 1.1语言
函数有参函数调用参数的注意事项Swift 1.1语言
空函数有参函数调用参数的注意事项Swift 1.1语言
空函数
函数有参函数调用参数的注意事项Swift 1.1语言空函数是函数中最简单的形式。在空函数中,函数只有一个空壳,里面是没有任何语句。当开发者还没有想到要写什么样子的程序时,可以使用空函数。等想好要编写的程序后,再为空函数去添加内容。它声明定义的一般形式如下本文选自Swift 1.1语言快速入门:
- func 函数名(){
- }
注意:空函数是没有返回值的。
【示例7-3】以下为程序定义一个空函数fun,然后再去调用。代码如下:
- import Foundation
- //空函数的声明定义
- func fun(){
- }
- fun()
由于在空函数中没有执行的语句,所以不会有任何输出结果本文选自Swift 1.1语言快速入门。
7.3 使用有参函数
有参数函数是指包含参数列表的函数。以下对它的声明定义、调用、使用参数的主要事项和参数名进行详细的讲解。
7.3.1 有参函数的声明定义
有参函数声明定义的一般形式如下:
- func 函数名(参数名1:数据类型,参数名2:数据类型,……)->返回值类型{
- 语句
- }
其中, 无参函数和有参函数的区别在于参数列表。参数列表由参数名和数据类型组成,其中使用“:”冒号将它们分隔开。参数列表中的参数可以有多个。定义时使用参数是为了接收调用(调用会在下一小节中讲解)时传递的数据。
【示例7-4】以下定义一个函数名为fun()的函数,此函数带有一个参数。代码如下:
- func fun(Name: String){
- …
- }
注意:参数列表中的参数名和数据类型都是不可以省去的。如以下的代码,它就是将参数名后面的数据类型省去了,代码如下本文选自Swift 1.1语言快速入门:
- func fun(Name){
- …
- }
由于省去了数据类型导致程序出现了以下的错误:
- Use of undeclared type 'Name'
7.3.2 有参函数的调用
在有参函数声明定义后,就可以调用了,其调用的一般形式如下:
函数名(参数值1,参数值2,…)
【示例7-5】以下代码将实现问候某一个人的功能。代码如下:
- import Foundation
- //有参函数的声明定义
- func fun(Name: String){
- println("Hello,\(Name)")
- }
- let personName1="Tom"
- fun(personName1) //调用
- let personName2="Div"
- fun(personName2) //调用
在此代码中,函数调用依次将字符串"Tom"和"Div"传递给函数在定义时的参数Name,然后进行输出。运行结果如下所示本文选自Swift 1.1语言快速入门:
- Hello,Tom
- Hello,Div
- Program ended with exit code: 0
当然在函数参数列表中也可以由多个参数。这时,多个参数需要使用“,”逗号分隔。
【示例7-6】以下将输出某一范围内包含的数字。代码如下:
- import Foundation
- //具有多个参数函数的声明定义
- func range(start:Int,end:Int){
- var i=start
- var e=end
- for i;i<=e;++i{
- println(i)
- }
- }
- let s=1
- let e=5
- range(s,e) //调用
- 运行结果如下所示:
- 1
- 2
- 3
- 4
- 5
- Program ended with exit code: 0
7.3.3 参数的注意事项
在使用参数时,需要小心,避免出现问题。以下讲解常出现的两个问题本文选自Swift 1.1语言快速入门。
1.参数个数
函数在声明定义时的参数要和调用时的参数个数一致。否则,就会出现错误。例如以下代码,它的功能计算在某一范围内包含多少个元素。代码如下:
- import Foundation
- func range(start:Int,end:Int){
- println(end-start)
- }
- let s=1
- let e=5
- range(s)
由于声明定义时的参数个数为2个,但是调用时的参数但是为1个。两个参数不一致,导致程序出现以下的错误提示:
- Missing argument for parameter #2 in call
此错误信息的意思是:在调用时丢失了#2参数。
2.参数顺序
声明定义时的参数顺序一定要和调用时的参数顺序一致,否则就会出现错误,或者是逻辑上的错误。例如以下的代码,将字符串aa输出指定的次数。
- import Foundation
- func fun(start:Int,end:Int,str:String){
- var i=s
- for i;i<=end;++i{
- println("字符串:\(str)第\(i)次输出")
- }
- }
- let s=1
- let e=5
- var ss="a"
- fun(s,ss,e)
在声明定义时参数的顺序为(Int,Int,String),而在调用时参数的顺序为(Int,String,Int)。两者是不一样的,所以就会出现以下的错误提示:
- 'String' is not convertible to 'Int'
空函数有参函数调用参数的注意事项Swift 1.1语言相关推荐
- python输入正方形面积公式_scanf()函数的调用:编写求正方形面积的通用程序
#includevoid main(){ int a, area; scanf("%d",&a); //等待用户从键盘输入一个整数// area=a*a; printf(& ...
- R语言使用psych包的cor.test函数检验dataframe中多个数值数据列之间的相关性系数是否具有统计显著性、对相关性系数进行显著性检验、使用print函数和short参数输出系数的置信区间
R语言使用psych包的cor.test函数检验dataframe中多个数值数据列之间的相关性系数是否具有统计显著性.对相关性系数进行显著性检验.使用print函数和short参数输出系数的置信区间 ...
- Swift 1.1语言第7章 函数和闭包
Swift 1.1语言第7章 函数和闭包 在编程中,随着处理问题的越来越复杂,代码量飞速增加.其中,大量的代码往往相互重复或者近似重复.如果不采有效方式加以解决,代码将很难维护.为了解决这个问题,人 ...
- python调用函数传参时、有默认值的在中间 报错了_python的大坑:使用空列表作为默认参数,让我怀疑遇到了灵异代码...
在python中,不要使用列表或者其他可变类型的数据容器作为默认参数.否则你很可能会遇到奇奇怪怪的问题. 如果你在调用某一个函数时,传了同样的参数,手动执行,每次结果都正确.但是用循环遍历重复多次执行 ...
- 【Kotlin】函数类型 ( 函数类型 | 带参数名称的参数列表 | 可空函数类型 | 复杂函数类型 | 带接收者函数类型 | 函数类型别名 | 函数类型实例化 | 函数调用 )
文章目录 I . 函数类型 II . 带参数名的参数列表 III . 可空函数类型 IV . 复杂函数类型解读 V . 函数类型别名 VI . 带 接收者类型 的函数类型 VII . 函数类型实例化 ...
- 前端:JS/22/函数(函数的概念,函数的定义格式,函数定义格式的说明,函数的调用,函数的参数),全局变量和局部变量,拷贝传值和引用传址,匿名函数,二维数组,对象,自定义对象的创建
函数 1,函数的概念 函数,是将一段公共的代码进行封装,给它起个名字叫"函数" 函数可以一次定义,多次调用:函数可以将常用的功能代码,进行封装,如:用户名的验证,验证码函数,邮箱验 ...
- [python] 函数的缺省参数和注意事项
所谓缺省参数,在定义函数时,可以给某个参数指定一个默认值,具有默认值的参数就叫做缺省参数.调用函数时,如果没有传入缺省参数的值,则在函数内部使用定义函数时指定的参数默认值. 一.列表的排序方法明确缺省 ...
- C++ std::function<void(int)> 和 std::function<void()> 作为函数参数的注意事项
前言 std::function 作为标准库提供的函数指针,使用起来还是比较方便的,不过在使用过程中有一些需要注意的细节,这里做一个简单的记录. 基本使用 头文件: #include <func ...
- python调用自定义函数返回值的类型_生成dll文件以及python对DLL中函数的调用(参数类型以及返回值)...
工具:VS2010 python2.7 (若使用的python是64位的,生成的dll也要使用x64) 系统:win7pro 64bit 首先,dll工程的创建以及dll文件的生成: new p ...
最新文章
- SQL Server中的分页查询
- 原创 | 安全生产事故如何防患于未然?监测与预警平台为安全和效益保驾护航...
- (转)安装黑苹果 MAC OS X Lion 10.7.2过程 (未验证)
- Vue-CLI@4——html-webpack-plugin默认配置的获取与修改
- 音视频技术开发周刊 | 157
- Redis的数据结构之字符串
- Service Mesh微服务熔断、限流的骚操作
- 华为公布鸿蒙2.0内测清单,华为鸿蒙操作系统2.0版支持的设备清单流出,荣耀30s...
- Linux IPC POSIX 共享内存
- oracle12C 创建用户学习
- 如何将Mac中的备忘录内容导出为 PDF文档?
- hdu1505 dp:01矩形中最大面积全0矩阵
- poj1847 最短路
- 雷军到底有多少钱!!
- Python format 使用实例
- 9.ansible变量之fact
- 18岁少年辍学组建黑客俱乐部 已覆盖62所学校
- 2019 未能正确加载ExtensionManagerPackage
- Unity线程与协程
- 电脑软件:推荐八款图片处理工具,值得收藏
热门文章
- springboot在工具类中添加service的方法,显示为空的解决方案
- angularjs 访问后台的时候,明明路径没有问题,却报404 解决
- HttpClient 大量连接等待异常的处理
- 离线安装python第三方库的实用方法:解决公司内网,服务器/电脑不能上网却需要安装python三方库问题(上:Windows环境中)
- 解决eclipse报PermGen space异常的问题
- 关于系统弹出错误:429 , ActiveX 部件不能创建对象 的解决方法
- css选择器匹配没有属性x的元素[重复]
- 错误:请求“ ..”中的成员“ ..”属于非类类型
- .on(#39;click#39;)与.click()之间的区别
- 将多个PDF文件合并/转换为一个PDF