定義閉包變量
var closureName: (ParameterTypes) -> (ReturnType)
定義可選閉包變量
var closureName: ((ParameterTypes) -> (ReturnType))?
定義閉包別名
typealias ClosureType = (ParameterTypes) -> (ReturnType)
定義閉包常量
let closureName: ClosureType = { ... }
在函數(shù)內部
funcName({(ParameterTypes) -> (ReturnType) in statements})
作為函數(shù)參數(shù)
array.sort({ (item1: Int, item2: Int) -> Bool in return item1 < item2 })
作為函數(shù)參數(shù)(隱式參數(shù)類型)
array.sort({ (item1, item2) -> Bool in return item1 < item2 })
作為函數(shù)參數(shù)(隱式參數(shù)類型、隱式返回類型)
array.sort({ (item1, item2) in return item1 < item2 })
作為函數(shù)最后的參數(shù)
array.sort { (item1, item2) in return item1 < item2 }
作為函數(shù)最后的參數(shù)(使用簡略參數(shù)命名方式)
array.sort { return $0 < $1 }
作為函數(shù)最后的參數(shù)(隱式返回值)
array.sort { $0 < $1 }
作為函數(shù)最后的參數(shù)(as a reference to an existing function)
array.sort(<)