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(>)
原文地址:https://www.cnblogs.com/xwoder/p/4732031.html