swift中的闭包
2020-09-07 本文已影响0人
梁森的简书
闭包表达式

大括号+参数+返回值类型+in+函数体代码
尾随闭包

let result = exec(v1: 1, v2: 2) { (a, b) -> Int in
return a * b
}
let result = exec(v1: 1, v2: 2) {
return $0 * $1
}
let result = exec(v1: 1, v2: 2) {
$0 * $1
}
上面的三种写法是等效的。
函数的最后一个参数,且这个参数是一个闭包表达式
闭包

函数+捕获的变量/常量环境
闭包不同于闭包表达式
把闭包想象成一个类
自动闭包

有时可以延迟执行某些代码,甚至不执行。