参数在Swift中传递

时间:2016-04-26 12:42:03

标签: ios swift

我有以下用swift编写的代码:

func hai(greeting: String, times: Int) -> String {
    return "You are greeted + \(greeting) + \(times) times "
}
hai ("Hello", times: 3)

当我调用函数hai时,如果我按以下方式调用它hai("hello", 3)它会抛出错误并强迫我按上面提到的方式调用它。

有人可以解释为什么会这样吗?谢谢,我是IOS编程的新手。

1 个答案:

答案 0 :(得分:3)

Swift中的每个函数参数都有两个名称 - internal external 。以您的方式定义函数签名时,times的外部参数名称与其内部名称相同。您可以通过将_放在外部名称位置来告诉Swift您不需要外部名称:

func hai(greeting: String, _ times: Int) -> String
//                         ^

详细了解Swift 2.2 Programming Language Guide中的内部/外部参数名称。