Swift   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了快速语言中’#’标记的含义是什么?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我看到这样的代码: func Hello(name: String, #Hellomessage: String) -> String { return "\(HellomessagE), \(Name)." } 我的问题是#标记在参数名称之前是什么意思?这是否意味着在调用函数时必须指定参数? 此外,任何人都可以告诉我与功能的区别没有这个#标记?代码示例是非常受欢迎的. 更新(Swif
我看到这样的代码
func Hello(name: String,#Hellomessage: String) -> String { 
    return "\(HellomessagE),\(Name)." 
}

我的问题是#标记在参数名称之前是什么意思?这是否意味着在调用函数时必须指定参数?

此外,任何人都可以告诉我与功能的区别没有这个#标记代码示例是非常受欢迎的.

更新(Swift 3.0)

一个参数的签名的认行为发生了巨大变化.要了解参数标签(例如“外部参数”)和参数名称(例如“本地参数”)的工作原理,请阅读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,请注明来意。