闭包表达式
{[capture list](paramList) -> returnType in
// closure code
}
let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"]
// sorted需要的闭包类型 (String,String) -> Bool
reversedNames = names.sorted(by: { (s1: String, s2: String) -> Bool in
return s1 > s2
})
1. 闭包中的类型推断
// 省略参数类型和返回类型,根据(String,String) -> Bool来推断
reversedNames = names.sorted(by: { s1, s2 in
return s1 > s2
})2. 单表达式闭包的隐式返回
3. 参数名称缩写
4. 运算符方法
5. 总结
不同语言中闭包实现的对比
最后更新于