import Foundation
println("Hello, World!")
var arr = [1,2,4,6,74,2]
func hasClosure(list:[Int], v2:Int, cb:(num:Int, v3:Int) ->Bool) ->Bool{
for item in arr{
if(cb(num:item, v3:v2)){
return true;
}
}
return false;
}
var v2 = hasClosure(arr, 82, {
(num:Int, v3:Int) ->Bool in
return num >= v3;
});
println("v2 is \(v2)")
//sort函数 会依据您提供的排序闭包将已知类型数组中的值进行排序。 一旦排序完毕,函数会返回一个与原数组大小同样的新数组。该数组中包括已经正确排序的同类型元素
let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
func backwards(s1: String, s2: String) -> Bool {
return s1 > s2
}
var reversed = sort(names, backwards)
// reversed is equal to ["Ewa", "Daniella", "Chris", "Barry", "Alex"]
//闭包版
reversed = sort(names, { (s1: String, s2: String) -> Bool in
return s1 > s2
})
//单行
reversed = sort(names, { (s1: String, s2: String) -> Bool in return s1 > s2 } )
//再精简
reversed = sort(names, { s1, s2 in s1 > s2 } )
//极致精简
reversed = sort(names, { $0 > $1 } )
//终极精简
reversed = sort(names, >)
println("reversed is \(reversed)")
//闭包表达式
//{
// (parameters) -> returnType in
// statements
//}
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步