ios - 'Int -> Int' 类型是什么?什么时候函数作为返回值?

标签 ios swift

func makeIncrementer() -> (Int ->Int) {
    func addOne(number:Int) ->Int {
          return 1 + number
    }
    return addOne // result`enter code here`:Int -> Int
}
var increment = makeIncrementer() // result:`enter code here`Int -> Int
increment(7) // result`enter code here`8
  • 我不明白如何实现!

最佳答案

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

声明如下:

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

意味着makeIncrement函数将返回另一个函数,该函数的参数类型为Int并且它返回一个Int

在上述情况下,makeIncrementer 函数返回 addOne 函数,然后您通过传递值 7 来调用它。(这有点类似于以下函数:返回C语言的函数指针)

您可以在这里阅读有关此类功能的更多信息:Function Types as Return Types

关于ios - 'Int -> Int' 类型是什么?什么时候函数作为返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35631474/

相关文章:

ios - 节点的不同侧有不同的触点

ios - UITextView selectAll 方法未按预期工作

ios - 强制标签文本从左到右,同时包括一些从右到左的文本

objective-c - FBSDKLoginManager错误代码308并且单例无法解决它

swift - NSDateFormatter。快速设置自日期以来耗时

ios - 获取所有喜欢的页面按一般喜欢排序

ios - 为什么数组在附加元素后返回 nil?

iphone - 在没有 BluetoothManager 的情况下检查 iOS 5 上的蓝牙是否被禁用

ios - didSelectAtRow 时将数据传递给下一个 viewController 的 UITextField

ios - 用于动态高度中断的 UITableViewCell 约束