同个功能,七种写法,不知道该哭还是该笑
//第一种闭包
func backwards(s1: String, s2: String) -> Bool
{
return s1 > s2
}
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
})
//第四种闭包 从单个表达式推出返回值类型
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 }