我注意到这个函数有一个独特的返回类型
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
}
这个函数实际上只是返回另一个函数Int
作为参数和返回类型。这样做是这样的:
(Int) -> Int
在这种情况下,该函数返回您的子函数之一。
因此,当您需要获取子函数的结果时,请这样做
chooseStepFunction(backward: true)(1) /* returns 0 */
chooseStepFunction(backward: false)(1) /* returns 2 */
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)