什么是_:在Swift告诉我?

什么是_:在Swift告诉我?,第1张

概述函数定义中的单独下划线是什么意思? 例如地图(_:) 我明白,当定义功能我可以做: 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及以前版本中,外化规则取决于声明出现的地方,这是不必要的不​​一致和混乱。

总结

以上是内存溢出为你收集整理的什么是_:在Swift告诉我?全部内容,希望文章能够帮你解决什么是_:在Swift告诉我?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1055961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存