加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

什么是_:在Swift告诉我?

发布时间:2020-12-14 05:59:08 所属栏目:百科 来源:网络整理
导读:函数定义中的单独下划线是什么意思? 例如地图(_:) 我明白,当定义功能我可以做: func myFunc(_ string: String) { ... } 然后我会将其称为myFunc(_ :)而不是myFunc(_string :),即有目的地隐藏参数名称? 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及以前版本中,外化规则取决于声明出现的地方,这是不必要的不??一致和混乱。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读