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