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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,353评论 0 33
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 9,265评论 0 6
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 5,947评论 0 2
  • 86.复合 Cases 共享相同代码块的多个switch 分支 分支可以合并, 写在分支后用逗号分开。如果任何模式...
    无沣阅读 5,306评论 1 5
  • 用户花费在一个页面上的时间永远比你想象的要少的少,我们推出的设计往往会想象「用户会这么做,然后这么做...」,按部...
    冰河时期k阅读 2,578评论 0 4