美文网首页Swift
Swift 4.0:函数 参数标签与参数名的用法

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

作者: 帅气胡椒面 | 来源:发表于2017-12-05 17:21 被阅读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)

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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/nepcixtx.html