闭包

类似于javascript的匿名函数、OC中的block

语法:

{(parameters) -> return type in

        statements

}

例子:

let names = ["Chris","Alex","Eva","Barry","Daniella"]
func backwards(s1:String,s2:String) -> Bool{
    return s1 > s2
}


1,单行表达式隐式返回:简化函数名称和格式
sort(&myList, {(s1:String, s2:String) ->Bool in return s1 > s2})

2,作为上下文推断类型:简化输入类型和返回类型
sort(&myList, {(s1,s2) in return s1 > s2})

3,参数名称缩写  使用$来代替两个输入值,$后需要接数字
sort(&myList, {$0 > $1})

你可能感兴趣的:(闭包)