Swift 嵌套函數含代碼

Swift 嵌套函數

一個在另一個函數體內部的函數被稱為嵌套函數。愛掏網 - it200.com

語法

func function1() {
    //statements of outer function
    func function2() {
        //statements of inner function
    }
}

參數解釋

在這里, function1 是外部函數,因為在 function1 內部有另一個函數 function2 (嵌套函數)。愛掏網 - it200.com

注意:內部函數只能在外部函數內調用和使用。愛掏網 - it200.com

沒有返回值的嵌套函數

func wish1(_ message: String) {    
    func wish2() {
        print("Good Morning! \(message)")
    }
    wish2 ()
}
wish1("Ajeet")

結果:

Good Morning! Ajeet

在上面的程序中,嵌套函數wish2()被外部函數wish1()調用。愛掏網 - it200.com

語句wish1(“Ajeet”)調用外部函數,而外部函數中的語句wish2()調用了一個輸出”Good Morning Ajeet”的方法。愛掏網 - it200.com

你不能在函數wish1之外調用函數wish2。愛掏網 - it200.com

帶有參數和返回值的嵌套函數

嵌套函數也可以包含參數和返回值。愛掏網 - it200.com

示例

func operate(with symbol:String) -> (Int, Int) -> Int {
    func add(num1:Int, num2:Int) -> Int {
        return num1 + num2
    }
    func subtract(num1:Int, num2:Int) -> Int {
        return num1 - num2
    }
    let operation = (symbol == "+") ?  add : subtract
    return operation
}
let operation = operate(with: "+")
let result = operation(10, 20)
print(result)

輸出:

30

在上面的程序中,

  • 外部函數是operate(),返回類型為Function (Int,Int) -> Int。愛掏網 - it200.com
  • 內部(嵌套)函數是 add()subtract()愛掏網 - it200.com

嵌套函數add()和subtract()以某種方式在enclosing函數operate()之外使用。愛掏網 - it200.com這是因為外部函數返回了其中一個函數。愛掏網 - it200.com

我們將內部函數作為operation(10, 20)在enclosing函數operate()之外使用。愛掏網 - it200.com程序在內部調用add(10, 20),輸出結果為30。愛掏網 - it200.com

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 麻豆映画传媒有限公司地址| 久久99精品国产麻豆婷婷| 2019国产麻豆剧传媒视| 欲乱美女诗涵番外5| 天堂资源bt在线官网| 人妻无码一区二区三区免费| jlzz奶水太多奶水太多| 男女一级做片a性视频| 天天狠天天透天干天天怕∴| 人成电影网在线观看免费| a毛片在线看片免费| 波多野结无码高清中文| 国产视频福利一区| 亚洲伊人久久大香线蕉综合图片| aⅴ在线免费观看| 最新中文字幕电影免费观看| 国产在线高清精品二区色五郎| 久久婷婷人人澡人人爽人人爱| 香蕉久久夜色精品升级完成| 无遮挡一级毛片视频| 四虎影视永久地址www成人| 万古战神txt下载| 狠狠综合久久av一区二区| 国产视频一区二区在线播放| 亚洲午夜久久久影院伊人| 911亚洲精品| 撒尿bbwbbw| 免费体验120秒视频| 97久久精品人人澡人人爽| 欧美帅老头oldmangay| 国产成人亚洲午夜电影| 丰满的寡妇3在线观看| 精品久久久久久亚洲中文字幕| 大陆老太交xxxxxhd在线| 亚洲国产精品久久久久秋霞小| 国产免费女女脚奴视频网| 无码专区国产精品视频| 免费一级黄色毛片| 337p日本欧洲亚洲大胆艺术| 日韩成年人视频| 午夜亚洲乱码伦小说区69堂|