闭包和类型别名

闭合可以用 typealias 定义。如果在多个位置使用相同的闭包签名,这将提供方便的类型占位符。例如,常见的网络请求回调或用户界面事件处理程序非常适合用类型别名命名

public typealias ClosureType = (x: Int, y: Int) -> Int

然后,你可以使用 typealias 定义函数:

public func closureFunction(closure: ClosureType) {
    let z = closure(1, 2)
}
    
closureFunction() { (x: Int, y: Int) -> Int in return x + y }