gpt4 book ai didi

swift - 为什么Swift也需要参数名称(如果它也需要参数顺序)?

转载 作者:行者123 更新时间:2023-11-28 11:25:35 42 4
gpt4 key购买 nike

在Swift中,当您调用函数时,必须标记参数,除非函数的作者明确允许您不要这样做。就语言设计而言,这是否有原因?我一直认为参数标签是允许调用者以对参数有意义的任何方式对参数进行排序的一种好方法,但是这种感觉就像很多无意义/无用的样板一样。

例子:

如果我们这样定义函数makeDog:

makeDog(legs: int, name: String)->Dog{}

然后必须像这样调用它:
makeDog(legs: 4, name: "fido")

而且 无法像这样被称为(编译器错误):
makeDog(name: "fido", legs: 4)

写文章后:即使是命名参数的StackOverflow标签描述也说:

Named parameters enable you to specify an argument for a particular parameter by associating the argument with the parameter's name rather than with the parameter's position in the parameter list.

最佳答案

Swift这样做有两个原因。

一个是Objective-C对语言设计者的影响。命名参数是Objective-C语言(以及其他语言)的功能。

另一个原因是使用命名参数允许代码进行自我记录。

如果可以按照任何顺序指定命名参数,就像使用其他语言一样,将很有趣。

您可以在此处阅读更多有关Swift功能的详细信息:Functions

关于swift - 为什么Swift也需要参数名称(如果它也需要参数顺序)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58346262/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com