↩️

Closure

闭包优化:

  1. 参数类型、返回值类型从上下文推断;即可以优化掉String、Bool等类型 {s1, s2 in return s1 > s2}
  2. 单表达式闭包的隐式返回,可以优化方法仅有单行的返回关键字,即return关键字 {s1, s2 in s1 > s2}
  3. 简写参数名称,swift会自动为内联闭包提供速记参数名称,可用于通过$0/$1等进行值引用 {$0, $1 in $0 > $1}
  4. 当闭包足够简洁,如 in $0 < $1,关键字in也可以省略 {$0 > $1}
  5. 当闭包仅为数学表达式,甚至可以优化入参,仅适用运算符方法进行实现 >
var names = ["ni", "he", "garbage", "folshift"]
var reversedNames = names.sorted (by: 
    // 闭包
    { (s1: String, s2: String) -> Bool in
        return s1 > s2
    }
)
© 2023 WANG   •  Powered by Apple