加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

function – Swift中的外部参数

发布时间:2020-12-14 02:26:06 所属栏目:百科 来源:网络整理
导读:我是 Swift的新手,我的问题是我们在哪里使用并需要外部参数? 来自Apple的Swift语言指南: Sometimes it’s useful to name each parameter when you call a function, to indicate the purpose of each argument you pass to the function. If you want use
>我是 Swift的新手,我的问题是我们在哪里使用并需要外部参数?
来自Apple的Swift语言指南:

Sometimes it’s useful to name each parameter when you call a function,
to indicate the purpose of each argument you pass to the function.

If you want users of your function to provide parameter names when
they call your function,define an external parameter name for each
parameter,in addition to the local parameter name.

因此,您不需要“外部参数名称”,但使用它们是一个好习惯,因为它们在调用方法时用作有关参数的文档.

例如,不使用外部参数名称,您可以定义这样的连接方法:

func join(_ s1: String,_ s2: String,_ joiner: String) -> String {
    return s1 + joiner + s2
}

然后会像这样调用:

join("foo","bar",",")

如您所见,每个参数的含义都不是很清楚.
使用外部参数名称,您可以定义相同的方法,如下所示:

func join(string s1: String,toString s2: String,withJoiner joiner: String) -> String {
    return s1 + joiner + s2
}

然后会强制用户像这样调用它:

join(string: "foo",toString: "bar",withJoiner: ",")

您可以看到它使参数的含义以及方法的作用更加清晰.

在这个简单的例子中,它似乎并不那么重要,但是当定义采用不那么明显含义的大量参数的方法时,使用外部参数名称将使您的代码更容易理解.

Swift 3更新:

随着Swift 3的引入,这变得更有意义.考虑Swift 3中Array类的append(contentsOf :)方法:

在这种情况下,没有不同的内部和外部参数名称将迫使我们将标签contentsOf更改为调用站点中的字符串,这不会像前一个那样好. Swift 3 API指南依赖于具有不同的内部和外部参数名称来创建简洁明了的方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读