Closures学习理解

2015-03-01  本文已影响17人  Roger1219

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

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

上一篇下一篇

猜你喜欢

热点阅读