Swift

Swift 4.0:函数 参数标签与参数名的用法

2017-12-05  本文已影响519人  帅气胡椒面

在C, C++, Java 等语言中,都没有引入参数标签的概念。Swift 引进参数标签(Argument Label)这个概念,主要应用在调用函数的情况,使得函数的实参与真实命名相关联,更加容易理解实参的意义。

什么是参数标签,什么是参数名 (Parameter Name)


参数标签在调用函数是使用,来指定当前实参传递给哪一个形参,因为有参数标签的存在,实在的顺序是可以随意改变的,这与其他语言是有区别的地方。

参数名只在函数内部使用,用来获取形参的值。

参数标签是允许缺省的,此时参数名承担了参数标签的任务,即调用函数时把参数名当做参数标签联系形参与实参。

func someFunction(argumentLabel parameterName0: Int,parameterName1: Int) {

    // 在函数体内,使用parameterName引用参数值

   // argementLabel不会出现在函数体内

    // 此时parameterName既是参数名也是参数标签

}

func greet(person:String, from hometown:String) ->String{

return"Hello\(person)!Glad you could visit from\(hometown)."

}

print(greet(person:"Bill", from:"Cupertino"))

// 输出 "Hello Bill!Glad you could visit from Cupertino."

省略参数标签


若想回归Java的写法,在调用时省略参数标签,那么在参数名前面加下划线( _ ) 来达到此目的。

func someFunction( _ firstParameterName: Int, secondParameterName:Int) {

    // 在函数体内还是正常用参数名在引用参数

}

someFunction(1, secondParameterName: 2)

假若在函数声明时未省略参数标签,那么在调用的时候一定要添加参数标签指定参数,否则报错。

上一篇 下一篇

猜你喜欢

热点阅读