本文概述
- 没有返回值的嵌套函数
- 带参数和返回值的嵌套函数
句法:
func function1() {//statements of outer functionfunc function2() {//statements of inner function}}
参数说明:
此处, function1是外部函数, 因为在function1内部还有另一个名为function2(嵌套函数)的函数。
注意:内部函数只能在外部函数内部调用和使用。没有返回值的嵌套函数
func wish1(_ message: String) {func wish2() {print("Good Morning! \(message)")}wish2 ()}wish1("Ajeet")
【Swift嵌套函数介绍和用法示例】输出
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 : subtractreturn operation}let operation = operate(with: "+")let result = operation(10, 20)print(result)
输出
30
在上面的程序中
- 外部函数是operation(), 其返回值类型为Function(Int, Int)-> Int。
- 内部(嵌套)函数是add()和减去()。
我们已将封闭函数operate()之外的内部函数用作operation(10, 20)。该程序在内部调用add(10, 20), 该输出提供输出30。
推荐阅读
- Swift函数重载介绍和用法示例
- Swift函数参数和返回值用法示例
- Swift字符串介绍和用法详细示例
- Swift函数介绍和用法详细示例
- Swift repeat-while循环语句用法示例
- Swift While和Repeat While循环语句用法
- Swift for-in循环语句介绍和用法示例
- Swift 4循环语句基本介绍
- Swift break语句介绍用法示例