据我所知,Swift函数默认情况下具有无名称参数,但Swift方法不是这样(除了第一个参数)。例如,考虑以下定义:
func foo(a: Int, b: Int) -> Int {
return a + b
}
class MyClass {
func bar(a: Int, b: Int) -> Int {
return a + b
}
}
我必须使用未命名参数来调用foo
:
foo(10, 20) // fine
foo(a: 10, 20) // error
foo(10, b: 20) // error
foo(a: 10, b: 20) // error
我必须以无名的第一个参数和命名的第二个参数来调用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
我知道可以使用#
符号将任何未命名的参数命名,但我的问题是:是否有办法使bar
的两个参数都未命名?
换句话说,我想以一种普通函数的方式声明bar
,以便我可以像调用普通函数一样调用它:
MyClass().bar(10, 20)
在 Swift 中是否可能实现这个?如果可以,应该怎么做?