2.9 递归

函数可以调用自身,这叫作递归。递归似乎有些可怕,就像从悬崖上跳下来一样,因为要冒着创建一个无限循环的风险;不过,如果函数编写正确,那么总是会有一个“停止”条件,它会处理降级情况,并防止无限循环的发生:


func countDownFrom(ix:Int) {
    print(ix)
    if ix > 0 { // stopper
        countDownFrom(ix-1) // recurse!
    }
}  

在Swift 2.0之前,Swift对递归施加了一个限制:函数中的函数(局部函数)不可以调用自身。在Swift 2.0中,这个限制已经解除了。

《iOS编程基础:Swift、Xcode和Cocoa入门指南》