在Swift中使用函数参数名称

剃刀

在Swift中,调用第一个参数时会使用参数名称。为什么不使用名字?

使用Swift手册的变体;

var count2: Int = 0
func incrementBy2(amount: Int, numberOfTimes times: Int) {
count2 += amount * times}

这将起作用;

incrementBy2(2, numberOfTimes: 7)

但这给了我“调用中的外部参数标签'amount'”

incrementBy2(amount: 2, numberOfTimes: 7)

是有原因吗,还是只是“按现状”之一?

米克麦卡勒姆

这是遵循Objective-C习惯的惯例,第一个参数的名称与方法名称结合在一起。这是一个例子:

- (void)incrementByAmount:(NSInteger)amount
            numberOfTimes:(NSInteger)times
{
    // stuff
}

您可以像这样调用方法:

[self incrementByAmount:2 numberOfTimes:7];

通过将参数的名称合并到方法的名称中,可以使阅读更加自然。在Swift中,您可以通过以下方法实现相同目的:

func incrementByAmount(amount: Int, numberOfTimes: Int) {
    // same stuff in Swift
}

并调用如下方法:

incrementByAmount(2, numberOfTimes: 7)

如果您不想使用此约定,Swift可以使您更加明确,并定义单独的内部和外部参数名称,如下所示:

func incrementByAmount(incrementBy amount: Int, numberOfTimes: Int) {
    // same stuff in Swift
    // access `amount` at this scope.
}

您可以这样调用方法:

incrementByAmount(incrementBy: 2, numberOfTimes: 7)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带简写参数名称的Swift函数

来自分类Dev

在C ++中使用所有默认参数调用函数时使用参数名称

来自分类Dev

在C ++中使用所有默认参数调用函数时,请使用参数名称

来自分类Dev

使用get参数作为函数名称

来自分类Dev

在C中使用标准函数名称

来自分类Dev

在C中使用标准函数名称

来自分类Dev

在嵌套函数中使用相同的参数名称会导致意外输出

来自分类Dev

您希望在构造函数中使用哪些参数名称?后缀,前缀还是其他?

来自分类Dev

在void函数和主程序中使用相同的参数名称

来自分类Dev

在函数中使用字符串作为参数名称?

来自分类Dev

在Swift中使用外部参数名称时方法签名是什么

来自分类Dev

Swift 1.2无法使用相同的函数名称和不同的参数

来自分类Dev

如何使用argparse参数作为函数名称

来自分类Dev

模拟函数参数名称以使用inspect.getargspec

来自分类Dev

PowerShell函数ValueFromPipelineByPropertyName不使用别名参数名称

来自分类Dev

如何在ghci中使用数学符号(函数名称)?

来自分类Dev

在javascript函数名称中使用coldfusion变量

来自分类Dev

无法在Laravel中使用某个单词作为函数名称

来自分类Dev

如何在MATLAB中使用动态函数名称?

来自分类Dev

使用Swift进行反射-获取类的函数名称

来自分类Dev

覆盖pytest参数化的函数名称

来自分类Dev

在Python中参数化函数名称

来自分类Dev

函数参数名称中的点

来自分类Dev

在函数r中更改参数名称

来自分类Dev

lua函数调用中的参数名称

来自分类Dev

调用函数时声明参数名称

来自分类Dev

在Python中更改函数参数名称

来自分类Dev

函数名称和参数的映射字典

来自分类Dev

在Python中参数化函数名称

Related 相关文章

热门标签

归档