什么是_:在Swift告诉我?

前端之家收集整理的这篇文章主要介绍了什么是_:在Swift告诉我?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
函数定义中的单独下划线是什么意思?

例如地图(_:)

我明白,当定义功能我可以做:

func myFunc(_ string: String) { ... }

然后我会将其称为myFunc(_ :)而不是myFunc(_string :),即有目的地隐藏参数名称

Swift需要一个约定来说明函数名称,不仅包括函数名称本身(括号前面),还包括参数的外部名称。约定是,名称后面跟冒号。所以这里是一个函数声明(在Swift 2.0中):
func myFunc(param1 param1:String,param2:String,param3:String) {}

这里是函数的名字:

myFunc(param1:param2:param3:)

然而,在现实生活中,一个或多个参数可能(实际上很可能)不会将任何名称外部化。因此,我们需要一个该名称的占位符。下划线是占位符 – 正如下划线是在声明中抑制名称外部化的符号。所以,这里是另一个函数声明(在Swift 2.0中):

func myFunc2(param1:String,_ param2:String,_ param3:String) {}

这里是函数的名字:

myFunc2(_:_:_:)

[Swift 2.0规范在这里很重要。在Swift 2.0中,默认情况下第一个参数名称不会被外部化,而其他参数名称在默认情况下是外部化的。在Swift 1.2及以前版本中,外化规则取决于声明出现的地方,这是不必要的不​​一致和混乱。

猜你在找的Swift相关文章