swift 之嵌套的理解 func chooseStepFunction(backwards: Bool) -> (Int) -> Int

來源:互聯網
上載者:User

標籤:

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

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.