空函数有参函数调用参数的注意事项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语言快速入门
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Swift 中的函数可以有两种类型的参数:变量参数和常量参数(默认为常量参数)。变量参数允许函数更改参数的值,而常量参数不允许。 定义一个带有变量参数函数,需要在参数名前加上 `var` 关键字。例如: ```swift func updateValue(var value: Int) { value += 1 print("Updated value: \(value)") } ``` 在这个例子中,`value` 参数是一个变量参数,允许函数更改它的值。在函数内部,我们将 `value` 的值增加了 1,并将其打印出来。 调用带有变量参数函数时,可以传递一个变量或常量作为参数。例如: ```swift var myValue = 5 updateValue(myValue) // 输出:Updated value: 6 print("Original value: \(myValue)") // 输出:Original value: 5 ``` 在这个例子中,我们首先定义了一个整数变量 `myValue`,并将其初始化为 5。然后,我们调用 `updateValue` 函数并将 `myValue` 作为参数传递给它。在函数内部,`value` 参数的值被修改为 6,但是在函数外部,`myValue` 的值仍然是 5。 需要注意的是,在 Swift 3 中,`var` 关键字已经被废弃,可以直接使用变量名来定义变量参数。例如: ```swift func updateValue(value: inout Int) { value += 1 print("Updated value: \(value)") } ``` 在这个例子中,我们使用 `inout` 关键字来表示参数是一个变量参数。在调用函数时,需要在参数前面加上 `&` 符号,以表示这是一个指针参数。例如: ```swift var myValue = 5 updateValue(value: &myValue) // 输出:Updated value: 6 print("Original value: \(myValue)") // 输出:Original value: 6 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值