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%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。