【发布时间】:2016-02-15 11:56:09
【问题描述】:
我正在阅读 Apple 的 Swift Programming Language 的一些章节,我发现参考中的方法和函数签名有一个 _ 字符作为参数,例如 print 函数:
print(_:separator:terminator:)
但是,我没有找到这个字符的确切含义。
提前致谢
【问题讨论】:
标签: ios swift method-signature
我正在阅读 Apple 的 Swift Programming Language 的一些章节,我发现参考中的方法和函数签名有一个 _ 字符作为参数,例如 print 函数:
print(_:separator:terminator:)
但是,我没有找到这个字符的确切含义。
提前致谢
【问题讨论】:
标签: ios swift method-signature
这是允许调用者省略外部参数名称的语法:
Omitting External Parameter Names
如果您不想为函数的第二个或后续参数使用外部名称,请为该参数写下划线 (
_) 而不是显式的外部名称。
【讨论】:
请参阅documentation中的此部分:
省略外部参数名称
如果您不想为函数的第二个或后续参数使用外部名称,请为该参数写下划线 (_) 而不是显式的外部名称。
此字符表示方法调用中不需要参数的标识符:
这个方法
func sayHello(personName: String, alreadyGreeted: Bool) -> String
被称为
sayHello(_:alreadyGreeted:)
并调用
sayHello("Tim", alreadyGreeted: true)
可以看到alreadyGreeted:必须包含在函数调用中,而不是personName。
IIRC,任何函数调用中的第一个参数在调用函数时总是被省略但在声明中写出来(显然,否则将无法访问它)。
【讨论】: