可以在函数内部定义另外一个函数。这就是内涵函数
内嵌函数在默认情况下在外部是被隐藏起来的。但却人人可以通过包裹他们的函数来调用他们。包裹的函数也可以返回内部的一个函内嵌函数来在另外的范围里使用
这个是java没有的语法,,
//: A UIKit based Playground for presenting user interface
import UIKit
func chooseStepFunction(backward:Bool)->(Int)->Int{
func stepForward(input:Int)->Int{
return input+1
}
func stepBackWard(input:Int)->Int{
return input-1
}
return backward ? stepBackWard : stepForward
}
var currentValue = -4
let moveNearerToZear = chooseStepFunction(backward: currentValue>0)
while currentValue != 0{
print("\(currentValue)...")
currentValue = moveNearerToZear(currentValue)
}
print("zero!")
-4...
-3...
-2...
-1...
zero!