Swift 语言之闭包学习笔记
闭包表达式
闭包表达式语法:
1 | let names = ["Chris", "Alex", "Ewa", "Barry", "Daniella"] |
根据上下文推断类型:
1 | reversed = sorted(names, { s1, s2 in return s1 > s2 } ) |
单行表达式闭包的隐式返回:
1 | reversed = sorted(names, { s1, s2 in s1 > s2 } ) |
简写参数名:
1 | reversed = sorted(names, { $0 > $1 } ) |
运算符函数:
1 | reversed = sorted(names, >) |
尾随闭包
1 | func someFunctionThatTakesAClosure(closure: () -> ()) { |
值捕获
1 | func makeIncrementer(forIncrement amount: Int) -> () -> Int { |
闭包是引用类型
1 | let incrementByTen = makeIncrementer(forIncrement: 10) |