函数可以在swift中返回另一个函数

时间:2014-06-13 06:58:17

标签: swift

函数是一流的类型。这意味着函数可以返回另一个函数作为其值。

func makeIncrementer() -> (Int -> Int) {
func addOne(number: Int) -> Int {
    return 1 + number
}
return addOne
}
var increment = makeIncrementer()
increment(7)

当我实现这个时,我得到以下错误:

  

命令   /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift   退出代码254失败

此功能在实时解决方案中有用吗?

1 个答案:

答案 0 :(得分:3)

documentation,您的函数声明应如下面的代码所示,请参阅Int周围的括号。它表示输入参数。

func makeIncrementer() -> (Int) -> Int
                          ^^^^^^^^^^^^

这种功能可以让您更容易根据运行时的值获得动态代码。