一尘不染

Swift 3第一个参数名称

swift

在Swift 2中,调用函数时似乎并不总是需要第一个参数名称。现在在Swift 3中,调用函数时需要第一个参数名称。例如:

func frobnicate(runcible: String) { 
    print("Frobnicate: \(runcible)") 
}

Swift 2.2允许通过简单键入以下内容来调用该函数:

Frobnicate("Station")

Swift 3似乎要求我们使用方法的第一个参数名称,例如:

Frobnicate(runcible:"Station")

Swift 3是否适用于所有函数和方法,还是仅适用于某些情况?


阅读 262

收藏
2020-07-07

共1个答案

一尘不染

是的,这是正确的。Swift正以这种方式解决语言不一致的问题(初始化程序始终需要这样做)。

如果您不想使用外部参数名称,只需将其显式删除即可:

func frobnicate(_ runcible: String) { 
    print("Frobnicate: \(runcible)") 
}

您可以在Swift Evolution 0046中阅读完整的原理

2020-07-07