// Playground - noun: a place where people can play
import Cocoa
var str = "Hello, playground"
/*
闭包
*/
let names = ["chris","Alex","Ewa","Barry","Daniella"]
func backwards(s1:String,s2:String) -> Bool {
return s1>s2
}
//排序
var reversed = sort(names)
var reversed1 = sort(names,backwards)
//闭包表达式语法
var reversed2 = sort(names,{(s1:String,s2:String) -> Bool in
return s1 > s2
})
//省去参数类型,
var reversed3 = sort(names,{s1,s2 in return s1 > s2})
//单表达式闭包隐式返回,省去return
var reversed4 = sort(names,{s1,s2 in s1 > s2})
//参数名缩写
var reversed5 = sort(names,{$0 > $1})
//运算符函数
var reversed6 = sort(names,>)
//尾随闭包
var reversed7 = sort(names){$0>$1}
reversed7[0]
let digitNames = [
0: "Zero", 1: "One", 2: "Two", 3: "Three", 4: "Four",
5: "Five", 6: "Six", 7: "Seven", 8: "Eight", 9: "Nine"
]
let numbers = [16, 58, 510]
let strings = numbers.map {
(var number) -> String in
var output = ""
while number > 0 {
output = digitNames[number % 10]! + output
number /= 10
}
return output
}
strings[0]
strings[1]
//捕获值
func makeIncrementor(forIncrement amount: Int) -> () -> Int {
var runningTotal = 0
func incrementor() -> Int {
runningTotal += amount
return runningTotal
}
return incrementor
}
//函数有int类型的参数,外部命名forIncrement,内部命名amount
swift学习-闭包
最新推荐文章于 2022-08-14 14:55:47 发布