我正在检查一些 Swift
代码,我遇到了这个函数签名:
func foo(withCompletion completion: @escaping () -> () = {}) { ... }
我不确定 () -> () = {}
部分是什么意思?
如果它是默认值,应该如何使用?
有什么想法吗?
代码在Swift 3
最佳答案
completion
参数的类型为 () -> ()
。这是一个没有参数且返回类型为空 (void) 的闭包。
= {}
是参数的默认值,这意味着如果您不需要闭包,则实际上不需要传入闭包。
所以你可以这样调用它:
foo(withCompletion: {
// your code here
})
或(使用尾随闭包语法):
foo() {
// your code here
}
或者(如果你不想使用完成闭包):
foo()
关于swift - 表达式 () -> () = {} 在 Swift 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45106932/