如何调用闭包类型的参数标签 (Swift)
How to call a parameter label of type closure (Swift)
作为参数的闭包
let driving = {
print("I'm driving in my car.")
}
func travel(action: () -> Void) {
print("I'm getting ready to go.")
action()
print("I arrived!")
}
travel(action: driving)
action
是参数标签。为什么我们将其视为 action()
中的函数调用?
让我们看一个简单的例子:
func myFunction() {...}
Swift 将此视为 () -> Void
与 Swift 将此 "John"
视为 String
的方式相同
所以当你写一个像myFunction
这样的函数时,你真的可以说
func myFunction() -> Void {...}
相同的结果。
现在 action 被定义为函数的参数,但它接受的参数类型是 () -> Void
也就是闭包,现在您可以认为它只是另一个函数。
所以行 action() 只是该函数的 调用。
作为参数的闭包
let driving = {
print("I'm driving in my car.")
}
func travel(action: () -> Void) {
print("I'm getting ready to go.")
action()
print("I arrived!")
}
travel(action: driving)
action
是参数标签。为什么我们将其视为 action()
中的函数调用?
让我们看一个简单的例子:
func myFunction() {...}
Swift 将此视为 () -> Void
与 Swift 将此 "John"
视为 String
所以当你写一个像myFunction
这样的函数时,你真的可以说
func myFunction() -> Void {...}
相同的结果。
现在 action 被定义为函数的参数,但它接受的参数类型是 () -> Void
也就是闭包,现在您可以认为它只是另一个函数。
所以行 action() 只是该函数的 调用。