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

在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)

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容