在Swift中,每个函数都是一种特定的函数类型,函数类型由函数的参数类型和返回类型组成。使用函数类型就像使用其他类型一样,例如,可以定义一个类型为函数的常量或变量,并且把函数值赋给它。
return a+b
函数类型也可以作为另一个函数的参数进行传递。
同样的,函数类型可以作为另一个函数的返回值进行返回。
在本章前面的内容中,我们所见到的所有函数都叫全局函数(global function),它们都被定义在全局域中。在Swift语言中,也可以把函数定义在别的函数体中,这称作嵌套函数(nested function)。在默认情况下,嵌套函数是对外界不可见的,但是可以被它们的封闭函数(enclosing function)来调用。
下面代码演示函数类型和嵌套函数结合使用的方法。嵌套函数可以使用它所在的主函数中所有的变量的值的拷贝,也就是说,在嵌套函数中改变主函数的变量,不会影响主函数中该变量的值。