{(參數(shù):參數(shù)類型 , 。哨查。。) -> 返回值類型 in return 函數(shù)體 }
var arr = [71,24,56,78]
arr.sorted(by: { (a:Int , b:Int) -> Bool in
return a > b
})
//[24, 56, 71, 78]
2. 尾隨閉包
var arr = [71,24,56,78]
arr.sorted() { (a:Int , b:Int) -> Bool in return a > b }
3. 值捕獲
var arr = [71,24,56,78]
var num = 10
// 這是一個(gè)尾隨閉包剧辐,閉包前面的()可以省略掉寒亥,閉包內(nèi)的num可以自動(dòng)捕獲上文中的var變量值
arr.sort(){ a , b in
abs(a - num) < abs(b - num)
}
4. 函數(shù)、閉包是引用類型 類似于拷貝意思
func running(meters: Int) -> ()-> Int {
var a = 0
// 這里return的是 下面 { 閉包 }
return {
a += meters
return a
}
}
// 這里的 planA 是函數(shù)類型的變量
var planA = running(meters: 30)
planA() //30
planA() //60