栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

快速语言中的'#'标记是什么意思

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

快速语言中的'#'标记是什么意思

更新(Swift 3。* …)

第一个参数签名的默认行为发生了巨大变化。要了解参数标签(例如“外部参数”)和参数名称(例如“局部参数”)如何工作,请阅读Apple的Swift书中的“函数参数标签和参数名称”一章。

一些例子:

func someFunction(parameterName: Int) { parameterName }someFunction(parameterName: 5) // argument label not specifiedfunc someFunction(argumentLabel parameterName: Int) { parameterName }someFunction(argumentLabel: 5) // argument label specifiedfunc 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().someMethodWith(5, andSecondParameter: 10)

您也可以对方法的第一个参数使用#(或添加一个显式的外部名称),但它与Objective-C样式的调用不匹配。

class SomeClass {    func someMethodWith(#firstParameter: Int, andSecondParameter: Int) { ... }}SomeClass().someMethodWith(firstParameter: 5, andSecondParameter: 10)

原始答案

如果要为函数参数提供外部参数名称,并且本地参数名称已经是要使用的适当名称,则无需为该参数重复输入相同的名称。相反,只需写一次名称,并在名称前面加上井号(#)。这告诉Swift将名称用作本地参数名称和外部参数名称。

摘录自:苹果公司“ The Swift Programming
Language”。iBooks。https://itunes.apple.com/ru/book/swift-programming-
language/id881256329?l=zh-TW&mt=11



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/388270.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号