现代范式:闭包与函数式编程
1. 闭包基础
在 Swift 中,若没有指定返回类型,可定义为 Void 或 () 。虽然有些开发者会使用括号,但在返回声明时更推荐使用 Void 。例如:
var printDouble = { (input: Double) -> Void in
print(input * 2)
}
实际上, () 是一个空元组,意味着它不包含任何值,更常用于闭包没有任何输入参数的情况,如下所示:
var makeHelloWorld = { () -> String in
return "Hello World!"
}
到目前为止,将代码块转换为闭包虽改变了我们对代码的思考方式,但实用性并不高。要真正发挥闭包的作用,需将其作为参数传递给其他函数。
2. 闭包作为参数
可以定义一个函数,使其接受一个闭包作为参数,使用之前学过的类型语法。例如,下面的函数 firstInNumbers 用于查找数组中第一个通过特定测试的数字:
func firstInNumbers(
numbers: [Int],
passingTest: (number: Int) ->
超级会员免费看
订阅专栏 解锁全文
6

被折叠的 条评论
为什么被折叠?



