什么是_:在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及以前版本中,外化规则取决于声明出现的地方,这是不必要的不​​一致和混乱。

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...