SwiftUI 内功教程之Closures 02 闭包表达式语法及经典用法

本文介绍了Swift中的闭包概念,包括全局函数、嵌套函数和闭包表达式。重点讲解了闭包表达式的语法,如参数和返回值类型推断、隐式返回和尾随闭包。通过实例展示了如何使用闭包实现数组的排序,以及闭包与函数的区别。最后,探讨了闭包的不同实现方式。
摘要由CSDN通过智能技术生成

什么是闭包

闭包是独立的功能块,可以在代码中传递和使用。Swift中的闭包类似于C和Objective-C中的块以及其他编程语言中的lambda。闭包可以从定义它们的上下文中捕获和存储对任何常量和变量的引用。这称为关闭这些常量和变量。Swift为您处理捕获的所有内存管理.

闭包采用以下三种形式之一:

  • 全局函数是具有名称且不捕获任何值的闭包。

  • 嵌套函数是具有名称的闭包,可以从其闭包函数捕获值。

  • 闭包表达式是用轻量级语法编写的未命名的闭包,可以从其周围的上下文中捕获值。
    Swift的闭包表达式具有简洁明了的样式,其优化功能鼓励在常见情况下使用简洁,简洁的语法。这些优化包括:

  • 从上下文推断参数和返回值类型

  • 单表达式闭包的隐式返回

  • 速记参数名称

  • 尾随闭包语法

闭包表达式语法

闭包表达式语法具有以下一般形式:

{ (parameters) -> return type in
    statements
}

该参数在封闭表达式语法可以在输出参数,但是他们不能有一个默认值。如果您命名可变参数,则可以使用可变参数。元组也可以用作参数类型和返回类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知识大胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值