Swift函数/方法中的“_”字符

时间:2016-02-15 11:56:09

标签: ios swift method-signature

我正在阅读Apple Swift Programming Language的一些章节,我发现引用中的方法和函数签名都有_个字符作为参数,例如print功能:

  

打印(_:分离器:终止子:)

但是,我没有找到这个角色的确切含义。

提前致谢

2 个答案:

答案 0 :(得分:3)

这是允许调用者省略外部参数名称的语法:

  

Omitting External Parameter Names

     

如果您不想为函数的第二个或后续参数使用外部名称,请为该参数写下划线(_)而不是显式外部名称。

答案 1 :(得分:1)

请参阅documentation

中的此部分
  

省略外部参数名称

     

如果您不想为函数的第二个或后续参数使用外部名称,请为该参数写下划线(_)而不是显式外部名称。

此字符表示方法调用中不需要参数的标识符:

此方法

func sayHello(personName: String, alreadyGreeted: Bool) -> String

被称为

sayHello(_:alreadyGreeted:)

并使用

进行调用
sayHello("Tim", alreadyGreeted: true)

您可以看到alreadyGreeted:必须包含在函数调用中,但不能包含personName

IIRC,任何函数调用中的第一个参数在调用函数时总是被省略,但在声明中写出来(显然,否则无法访问它)。