京东云服务器推荐配置、多种配置选择,满足不同业务需求!

热门推荐

⭐ 稳定入门选择

配置:2核2G/5M

适用场景:个人站点 / 轻量应用

特点:性价比高,稳定可靠

¥19/月
立即购买
流量友好

☁️ 轻量云主机

配置:2核4G 5M

适用场景:小型业务 / 博客 / 测试环境

特点:流量友好,性能均衡

¥149/年
立即购买
高性能

💻 云服务主机

配置:4核16G 8M

适用场景:中小型服务 / 多并发场景

特点:充足内存与带宽,性能强劲

¥750/年
立即购买
新人专享

🎁 新人福利

新人访问 → 点击 → 最新活动

可获取 3000元 礼券

立即领取
移动端 / Swift 教程 / Swift 函数
Swift 嵌套函数
Swift 递归Swift 函数参数和返回值

Swift 嵌套函数

在本文中,您将学习Swift中的嵌套函数及其如何与示例一起使用。

如果一个函数存在于另一个函数的主体内,则称为嵌套函数。

嵌套函数的语法

func funcname() {
    //外部函数语句
    func anotherFuncname() {
        //内部函数语句
    }
}

在此,函数 anotherFuncname 位于另一个函数 funcname 的主体内部。

应当注意,内部函数只能在封闭函数(外部函数)内部调用和使用。

示例1:没有返回值的嵌套函数

func outputMessageByGreeting(_ message: String) {
    
    func addGreetingAndPrint() {
        print("Hello! \(message)")
    }
    addGreetingAndPrint()
}
outputMessageByGreeting("Jack")

运行该程序时,输出为:

Hello! Jack

在上面的程序中,从封闭函数 outputMessageByGreeting ()调用了嵌套函数 addGreetingAndPrint ()。

语句 outputMessageByGreeting("Jack") 调用外部函数。 外部函数内的语句 addGreetingAndPrint()调用输出 Hello Jack!

您不能在函数 outputMessageByGreeting 之外调用函数 addGreetingAndPrint。

示例2:带有参数和返回值的嵌套函数

嵌套函数可以包含带有参数和返回值的函数。

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(2, 3)
print(result)

运行该程序时,输出为:

5

在上面的程序中,

  • 外部函数为operate(),返回值为Function类型 (Int,Int) -> Int。

  • 内部(嵌套)函数为 add() 和 subtract()。

嵌套函数add()和subtract()的方式正在使用的封闭函数的外面operate()。这是可行的,因为外部函数返回这些函数之一。

我们已经将封闭函数operate()之外的内部函数用作operation(2,3)。 程序内部调用add(2,3),在控制台中输出5。

Swift 递归Swift 函数参数和返回值