大佬教程收集整理的这篇文章主要介绍了快速语言中’#’标记的含义是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
func Hello(name: String,#Hellomessage: String) -> String { return "\(HellomessagE),\(Name)." }
第一个参数的签名的默认行为发生了巨大变化.要了解参数标签(例如“外部参数”)和参数名称(例如“本地参数”)的工作原理,请阅读Apple的“Swift”书中的“功能参数标签和参数名称”一章.
一些例子:
func someFunction(parameterName: int) { parameterName } someFunction(parameterName: 5) // argument label not specified func someFunction(argumentLabel parameterName: int) { parameterName } someFunction(argumentLabel: 5) // argument label specified func someFunction(_ parameterName: int) { parameterName } someFunction(5) // argument label omitted
更新(Swift 2. *)
以下描述的功能已被弃用,需要将参数名称两次写入以获得与之前的哈希符号相同的行为.
更新(示例)
对于函数:当调用函数时,某些参数的目的不清楚时,您将为这些参数提供外部名称.
func someFunction(parameterName: int) { parameterName } someFunction(5) // what is the meaning of "5"? func someFunction(externalParameterName parameterName: int) { parameterName } someFunction(externalParameterName: 5) // Now it's clear.
但是,如果外部和本地名称相同,则只需在参数名称之前编写一个哈希符号.
func someFunction(#parameterName: int) { parameterName } // It's actually like: // func someFunction(parameterName parameterName: int) { parameterName } someFunction(parameterName: 5)
对于方法:默认情况下,第一个参数名称只是本地的(像函数一样),但是第二个和后续的参数名称都是本地的和外部的(就像你在参数名之前写一个哈希符号一样,这个隐含在这里)
class someClass { func someMethodWith(firstParameter: Int,andSecondParameter: int) { ... } } someClass()@L_386_36@meMethodWith(5,andSecondParameter: 10)
您可以使用#(或添加一个明确的外部名称)作为方法的第一个参数,但它不符合Objective-C风格的调用.
class someClass { func someMethodWith(#firstParameter: Int,andSecondParameter: int) { ... } } someClass()@L_386_36@meMethodWith(firstParameter: 5,andSecondParameter: 10)
原来的答案
摘录自:苹果公司“Swift编程语言”iBooks. https://itunes.apple.com/ru/book/swift-programming-language/id881256329?l=en&mt=11
以上是大佬教程为你收集整理的快速语言中’#’标记的含义是什么?全部内容,希望文章能够帮你解决快速语言中’#’标记的含义是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。