📅  最后修改于: 2021-01-11 07:44:51             🧑  作者: Mango
另一个函数的体内的函数称为嵌套函数。
func function1() {
//statements of outer function
func function2() {
//statements of inner function
}
}
在此,功能1是外部的函数,因为有另一个指定的函数2函数(嵌套函数)的功能1的内部。
注意:内部函数只能在外部函数内部调用和使用。
func wish1(_ message: String) {
func wish2() {
print("Good Morning! \(message)")
}
wish2 ()
}
wish1("Ajeet")
输出:
Good Morning! Ajeet
在上述程序中,从外部函数wish1()调用了嵌套函数wish2()。
语句wish1(“ Ajeet”)调用外部函数,而语句wish2()调用外部函数,该方法给出输出Good Morning Ajeet。
您不能在wish1函数之外调用wish2函数。
嵌套函数还可以包含参数和返回值。
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
嵌套函数add()和减去()在封闭函数operate()之外被使用。这是可能的,因为外部函数返回这些函数之一。
我们已经将封闭函数operate()之外的内部函数用作operation(10,20)。该程序在内部调用add(10,20),该输出提供输出30。