Closures学习理解

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)是一种函数格式,可以用作另一个函数的参数。

在实际使用函数时,需要提供闭包内容,可以是一个已经定义好的函数,也可以是无名函数。

你可能感兴趣的:(Closures学习理解)