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/