標籤:
http://blog.csdn.net/lzx_322/article/details/28861199
swift 函數使用前面需要添加 func 有傳回值需要使用-> 後面添加傳回型別 ,很容易理解,在看英文版的pdf文檔時候看到嵌套函數的傳回值,剛開始沒有太明白,仔細思考了一會還是很容易理解的:
例如:func stepBackward(input: Int) -> Int {
return input - 1
}
傳回值是int型的。
func chooseStepFunction(backwards: Bool) -> (Int) -> Int {
func stepForward(input: Int) -> Int { return input + 1 }
func stepBackward(input: Int) -> Int { return input - 1 }
return backwards ? stepBackward : stepForward
}
這裡的 chooseStepFunction 傳回值類型是(Int) -> Int,看函數中的return 是函數 stepBackward or stepForward,這兩個函數的類型正是(Int) -> Int。最終返回的數值是還是int型。
再例如:
func testFunction(a:int,b:int)->(int,int)->int{
func getFunction(a:int,b:int)->int{
return a-b
}
return getFunction
}
外面的函數返回的是(int,int)->int,恰好返回是嵌套裡面面的函數,此函數最終返回的是嵌套裡面函數的傳回值。這是我對嵌套返回的理解,表述不是很清晰,希望對大家有所協助,不足之處歡迎指出。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
swift 之嵌套的理解 func chooseStepFunction(backwards: Bool) -> (Int) -> Int