Example:
importFoundation
varnumberExample = [12,43,2,24,3]
funcnumberOrder (numbers : [Int], compare : (Int,Int) ->Bool) -> [Int] {
varnewNumber : [Int] = numbers
foriin0...(newNumber.count-2) {
forjin(i +1)...(newNumber.count-1) {
if(compare(newNumber[i],newNumber[j])) {
swap(&newNumber[i], &newNumber[j])
}
}
}
returnnewNumber
}
varresultNum =numberOrder(numberExample) {
(vara:Int, b:Int) ->Boolin
return(a < b )
}
println(resultNum)
閉包(closures)是一種函數(shù)格式,可以用作另一個(gè)函數(shù)的參數(shù)。
在實(shí)際使用函數(shù)時(shí),需要提供閉包內(nèi)容,可以是一個(gè)已經(jīng)定義好的函數(shù),也可以是無(wú)名函數(shù)。