9
据我所知,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
}
}
我要叫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)
这是可能的斯威夫特?如果是这样,怎么样?
谢谢!这正是我需要的。 – SelectricSimian 2014-12-07 01:16:08
注意:在Swift 4中,你必须在第一个参数前加'_'。 MyClass类{ FUNC巴(a:中等,_ B:智力) - >内部{ 返回A + B } } 变种克= MyClass的() g.bar(3,4) 错误:REPL .swift:88:7:错误:在调用中缺少参数标签'a' – 2017-12-15 21:05:55