返回的函数不像全局函数那样

时间:2017-07-22 23:13:16

标签: swift

我不明白Swift(3.1)

中的这种行为
// Code segment 1
func foo(bar baz: Int) -> Void {
    print(baz)
}
foo(bar: 42) // => prints 42

// Code segment 2
func gimmeFunc() -> (Int) -> Void {
    func foo(bar baz: Int) -> Void {
        print(baz)
    }
    return foo
}

var qux = gimmeFunc()
qux(bar: 42) // I get ".. error: extraneous argument label 'bar:' in call"

qux(42) // Works

为什么代码段2中返回的函数的行为有所不同?

0 个答案:

没有答案