ios – 在Swift中_:_:和冒号和下划线的类似组合是什么意思?

ios – 在Swift中_:_:和冒号和下划线的类似组合是什么意思?,第1张

概述参见英文答案 > What is _: in Swift telling me?                                    3个 在阅读Swift的文档时,Apple通常使用functionName(_:name :)或类似的东西.究竟是什么样的模式有时是_:_ :,有时只是_:,和_:name:.我认为它与参数简写有关,但我不确定,也无法在Swift的编程指南中找到解 参见英文答案 > What is _: in Swift telling me?3个
在阅读Swift的文档时,Apple通常使用functionname(_:name :)或类似的东西.究竟是什么样的模式有时是_:_ :,有时只是_:,和_:name:.我认为它与参数简写有关,但我不确定,也无法在Swift的编程指南中找到解释.谢谢!

例:

insert(_:atIndex:)
解决方法 下划线表示该函数没有外部参数名称. Apple’s Swift Documentation在你编写自己的函数时会谈到这个概念.

以您编写此函数的情况为例(来自文档):

func sayHello(to person: String,and anotherPerson: String) -> String { ... }

如果您要使用该功能,您可以编写以下内容:

sayHello(to: "Bill",and: "Ted")

这个签名就是sayHello(to:and :).
但是,如果我们想把这个函数用作sayHello(“Bill”,“Ted”)怎么办?我们如何表明我们不想要外部参数名称?那就是下划线的来源.我们可以将函数重写为:

func sayHello(person: String,_ anotherPerson: String) -> String { ... }

注意第一个参数不需要_,但后续的参数将是.第一个被推断为没有参数名称.这使得此调用的方法签名为sayHello(_:_ :),因为您作为调用者没有命名参数.

更新Swift 3.0:

Swift 3.0平等对待所有参数.第一个参数现在需要一个下划线来表示外部参数名称的缺失.在上面的示例中,在调用站点上有sayHello(“Bill”,“Ted”),您的相应函数或方法声明必须是

func sayHello(_ person: String,_ anotherPerson: String) -> String { ... }

请注意在内部参数名称“person”之前添加下划线.

总结

以上是内存溢出为你收集整理的ios – 在Swift中_:_:和冒号和下划线的类似组合是什么意思?全部内容,希望文章能够帮你解决ios – 在Swift中_:_:和冒号和下划线的类似组合是什么意思?所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1114364.html

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

发表评论

登录后才能评论

评论列表(0条)

保存