swift自动闭包与高阶函数
自动闭包(autoclosure)
自动闭包在闭包作为参数时使用,这种闭包形式就是用一句普通的表达式作为自动闭包类型的参数,替代了完整的闭包表达式,这句表达式本身代表了闭包的返回值。
例如:
func printElementWith(closure: @autoclosure () -> Int){
print("闭包表达式可以延迟处理")
closure()
}
printElementWith(closure: arr.removeFirst())
它实际上是如下通常形式的一种省略表达。
func printElementWith(closure: () -> Int){
print("闭包表达式可以延迟处理")
print(closure())
}
printElementWith(closure: { return arr.removeFirst() })