微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

function – Swift中的外部参数

>我是 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指南依赖于具有不同的内部和外部参数名称来创建简洁明了的方法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐