麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發(fā)設計 > 正文

swift 函數(shù)嵌套

2019-11-09 17:54:00
字體:
來源:轉載
供稿:網(wǎng)友

在swift 里面這個函數(shù)嵌套是我理解起來有點稍微難受的知識點,記錄下

還是用那個最經典的例子來看一下

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}var currentValue = -4let moveNearerToZero = chooseStepFunction(backwards: currentValue > 0)while currentValue != 0 {    PRint("/(currentValue)... ")    currentValue = moveNearerToZero(currentValue)}一般函數(shù)看起來如果有返回值的時候,格式是這個樣子的

func 方法名字(參數(shù))-> 返回類型 {里面的一些運算}

而這個嵌套的函數(shù)在返回類型里是這樣子的 (Int)-> Int 抽出來不難理解,這個就是(參數(shù))-> 返回類型 ,這就是個發(fā)育不良的函數(shù)格式,在程序里面呢,要把它看做一個整體理解。我只需知道,通過最外面的函數(shù)返回的東西還是個函數(shù)。

就像我們上面的例子一樣

let moveNearerToZero = chooseStepFunction(backwards: currentValue > 0)這個moveNearerToZero就是個函數(shù)。

往里面第一個函數(shù)choose里面看,發(fā)現(xiàn)不簡單,竟然又有兩個函數(shù),都是完全形態(tài),有參數(shù),有返回值,放在外面也可以獨立生活。我們不用管,只需要外面的返回函數(shù)類型,和里面要用的一直就好了。其實他們就是一個,往下看就一目了然了。

 return backwards ? stepBackward : stepForward返回的是存在函數(shù)里的兩個函數(shù)名,條件滿足哪個就返回哪個,上面的moveNearerToZero接收了,再運行就是里面的函數(shù)了

多個嵌套的話也是一樣的流程


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 密室逃脱第一季免费观看完整在线 | 色婷婷久久久亚洲一区二区三区 | 精品亚洲国产视频 | 特级黄色一级毛片 | 午夜精品毛片 | 免费观看一级黄色片 | 国产99久久久久 | 国产91免费看 | 国产精品亚洲三区 | 亚洲精品久久久久久下一站 | 一区二区三区日韩精品 | 一级做a爰性色毛片免费 | 日韩精品久久久久久久电影99爱 | 国产一区毛片 | 美女性感毛片 | 免费黄色大片网站 | 久国产精品视频 | 国产成人精品一区二区视频免费 | 久久老司机精品视频 | 国产九九热视频 | 日韩视频在线观看免费 | 91看片免费版 | 国产麻豆交换夫妇 | 爱爱插插视频 | 亚洲va久久久噜噜噜久牛牛影视 | av在线免费观看中文字幕 | av在线官网 | 国产一区二区三区精品在线观看 | 精品亚洲一| 99爱视频在线观看 | 特级黄毛片| av电影在线网 | 96视频在线免费观看 | av手机在线电影 | 国产日韩在线观看一区 | 亚洲操比视频 | 久久综合九色 | 香蕉视频h | 国产成人综合在线观看 | 欧美性生话视频 | 精品一区二区三区中文字幕老牛 |