10.1 回顾嵌套函数
一门计算语言要支持闭包的前提有两个。
支持函数类型,能够将函数作为参数或返回值传递。
支持函数嵌套。
这两个前提在Swift中都是满足的,我们先回顾一下9.6节中嵌套函数的示例,通过这个示例,来了解一下闭包的概念以及闭包与函数类型和函数嵌套之间的内在关系。
还记得9.6节中的示例吗?如下所示:
func calculate(opr :String)-> (Int,Int)-> Int {//定义+函数func add(a:Int, b:Int) -> Int {return a + b}//定义-函数func sub(a:Int, b:Int) -> Int {return a - b}var result : (Int,Int)-> Intswitch (opr) {case "+" :result = addcase "-" :result = subdefault:result = add}return result}
该示例定义了calculate函数,并且在calculate函数中定义了嵌套函数add和sub。calculate函数的返回值是(Int,Int)-> Int函数类型。
