exi*_*all 9 parameters methods function swift
据我所知,默认情况下Swift函数有未命名的参数,但Swift方法没有(不包括第一个参数).例如,给出以下定义:
func foo(a: Int, b: Int) -> Int {
return a + b
}
class MyClass {
func bar(a: Int, b: Int) -> Int {
return a + b
}
}
Run Code Online (Sandbox Code Playgroud)
我必须foo
使用未命名的参数调用:
foo(10, 20) // fine
foo(a: 10, 20) // error
foo(10, b: 20) // error
foo(a: 10, b: 20) // error
Run Code Online (Sandbox Code Playgroud)
我必须bar
使用未命名的第一个参数调用,并且第二个参数命名为:
MyClass().bar(10, b: 20) // fine
MyClass().bar(10, 20) // error
MyClass().bar(a: 10, b: 20) // error
MyClass().bar(a: 10, 20) // error
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过使用#
符号来命名任何未命名的参数,但我的问题是:有什么方法可以将两个参数都设为bar
未命名的?
换句话说,我想以bar
这样的方式声明我可以像普通函数一样调用它:
MyClass().bar(10, 20)
Run Code Online (Sandbox Code Playgroud)
这在Swift中可能吗?如果是这样,怎么样?
Nat*_*ook 20
是的,在第二个参数名称前加上前缀,_
使其具有匿名性:
class MyClass {
func bar(a: Int, _ b: Int) -> Int {
return a + b
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4353 次 |
最近记录: |