Swift 3个第一个参数名称
Swift 3 first parameter names
在Swift2中,调用函数时似乎并不总是需要第一个参数名称。现在在Swift3中,调用函数时需要第一个参数名。例如:
func frobnicate(runcible: String) {
print("Frobnicate: \(runcible)")
}
Swift 2.2 允许通过简单键入调用函数:
Frobnicate("Station")
Swift 3好像是要求我们使用方法的第一个参数名如:
Frobnicate(runcible:"Station")
Swift 3 是所有函数和方法的情况还是仅某些情况?
是 Swift3 要求您发送第一个参数标签。
是的,这是对的。 Swift 正在以这种方式解决语言不一致问题(初始化程序始终需要这样做)。
如果您不想使用外部参数名称,只需显式将其删除:
func frobnicate(_ runcible: String) {
print("Frobnicate: \(runcible)")
}
您可以在 Swift Evolution 0046
中阅读完整的基本原理
没错。在Swift 3.0中,所有参数(包括第一个参数)都必须写参数名。参数名称是在函数实现体内使用的名称。
func frobnicate(runcible: String) {
print("Frobnicate: \(runcible)")
}
默认情况下,如果您没有明确指定任何参数标签,则外部参数标签与参数名称相同。参数标签是用于在调用函数时传递参数的标签。如果需要,为了更清楚的目的,您还可以明确指定外部参数标签。下面的示例-
func frobnicate(runcibleExternalLabel runcible: String) {
print("Frobnicate: \(runcible)")
}
如果你想在调用函数时跳过外部参数标签,只需在参数名称前加上一个“_”。
func frobnicate(_ runcible: String) {
print("Frobnicate: \(runcible)")
}
你可以阅读The Swift Programming Language (Swift 3) in i-Book. Also you can check this out in WWDC 2016: What's New in Swift
在 Swift 3 中,默认情况下,函数使用其参数名称作为其参数的标签。在参数名称前写一个自定义参数标签,或者写_不使用参数标签。
fun greet(_ person: String, on day: String) -> String {
return "Hello \(person), today is \(day)."
}
greet("John", on: "Wednesday")
或
// This also works with Swift 2
fun addThreeNumber(_ first: Int, _ second: Int, _ third: Int) {
print(first+second+third)
}
addThreeNumber(1, 2, 3)
您需要参数标签的原因是其他代码可以按任何顺序提供参数。
没有标签,当您调用该函数时,参数是匿名的,您无法确定是否以错误的顺序提供了它们。
将标签放在参数前面,代码工具可以更好地捕捉我们人类输入的错误。
下划线只是应对遗留代码转换的一种方式;方法名称包括隐式第一个参数。您应该将迁移添加到代码中的任何下划线更改为显式参数标签。你知道这是有道理的。
在Swift2中,调用函数时似乎并不总是需要第一个参数名称。现在在Swift3中,调用函数时需要第一个参数名。例如:
func frobnicate(runcible: String) {
print("Frobnicate: \(runcible)")
}
Swift 2.2 允许通过简单键入调用函数:
Frobnicate("Station")
Swift 3好像是要求我们使用方法的第一个参数名如:
Frobnicate(runcible:"Station")
Swift 3 是所有函数和方法的情况还是仅某些情况?
是 Swift3 要求您发送第一个参数标签。
是的,这是对的。 Swift 正在以这种方式解决语言不一致问题(初始化程序始终需要这样做)。
如果您不想使用外部参数名称,只需显式将其删除:
func frobnicate(_ runcible: String) {
print("Frobnicate: \(runcible)")
}
您可以在 Swift Evolution 0046
中阅读完整的基本原理没错。在Swift 3.0中,所有参数(包括第一个参数)都必须写参数名。参数名称是在函数实现体内使用的名称。
func frobnicate(runcible: String) {
print("Frobnicate: \(runcible)")
}
默认情况下,如果您没有明确指定任何参数标签,则外部参数标签与参数名称相同。参数标签是用于在调用函数时传递参数的标签。如果需要,为了更清楚的目的,您还可以明确指定外部参数标签。下面的示例-
func frobnicate(runcibleExternalLabel runcible: String) {
print("Frobnicate: \(runcible)")
}
如果你想在调用函数时跳过外部参数标签,只需在参数名称前加上一个“_”。
func frobnicate(_ runcible: String) {
print("Frobnicate: \(runcible)")
}
你可以阅读The Swift Programming Language (Swift 3) in i-Book. Also you can check this out in WWDC 2016: What's New in Swift
在 Swift 3 中,默认情况下,函数使用其参数名称作为其参数的标签。在参数名称前写一个自定义参数标签,或者写_不使用参数标签。
fun greet(_ person: String, on day: String) -> String {
return "Hello \(person), today is \(day)."
}
greet("John", on: "Wednesday")
或
// This also works with Swift 2
fun addThreeNumber(_ first: Int, _ second: Int, _ third: Int) {
print(first+second+third)
}
addThreeNumber(1, 2, 3)
您需要参数标签的原因是其他代码可以按任何顺序提供参数。
没有标签,当您调用该函数时,参数是匿名的,您无法确定是否以错误的顺序提供了它们。
将标签放在参数前面,代码工具可以更好地捕捉我们人类输入的错误。
下划线只是应对遗留代码转换的一种方式;方法名称包括隐式第一个参数。您应该将迁移添加到代码中的任何下划线更改为显式参数标签。你知道这是有道理的。