Swift闭包与简化
代码:
// 定义一个数组,使用sort函数对其排序 let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"] // 完整形式 names.sort( { (s1: String, s2: String) -> Bool in return s1 > s2 }) // 尾随闭包形式 names.sort() { (s1: String, s2: String) -> Bool in return s1 > s2 } // 如果闭包表达式的参数类型已知,可省略 names.sort() { (s1, s2) -> Bool in return s1 > s2 } // 如果闭包表达式的返回类型已知,可省略 names.sort() { (s1, s2) in return s1 > s2 } // 参数的圆括号,可省略 names.sort() { s1, s2 in return s1 > s2 } // 单行表达式的闭包可以通过隐藏return关键字来隐式返回单行表达式的结果 names.sort() { s1, s2 in s1 > s2 } // Swift自动为内联函数提供了参数名称缩写功能,您可以直接通过$0、$1、$2等来顺序调用闭包的参数 names.sort() { $0 > $1 } // 如果函数只需要闭包表达式一个参数,当您使用尾随闭包时,可以省略圆括号 names.sort { $0 > $1 } // 运算符函数 names.sort(>)
豪情壮志铁傲骨,原来英雄是孤独。