swift 闭包的强大

同个功能,七种写法,不知道该哭还是该笑

//第一种闭包
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 }

 

猜你喜欢

转载自wenrisheng.iteye.com/blog/2078824
今日推荐