//閉包swift
var a = [3,2,5,4]閉包
a.sortInPlace { (a, b) -> Bool in函數
return a>bspa
}orm
for e in a {索引
print(e)it
}變量
//另外一種寫法(參數索引)sort
var a = [3,4,6,5,2]margin
a.sortInPlace { ($0>$1)}
for e in a {
print(e)
}
//還有更簡單的寫法。Trailing閉包
var a = [4,5,3,6,2]
a.sortInPlace(>)
for e in a {
print(e)
}
//閉包能夠根據上下文來捕獲常量或者變量
swift最簡單的閉包形式是嵌套函數,也就是定義在其餘函數體內的函數,嵌套函數能夠捕獲其外部函數全部的參數以及定義的常量和變量。
func f1(){
var r = 0
func add(a:Int,b:Int)->Int{
r = a + b//能夠捕獲外部變量r
return r
}
print(add(2, b: 3))
}
f1()