Swift 6.2 最显著的新特性是易用并发(approachable concurrency),这是一种默认的低复杂度方法,用于编写安全的并发应用程序。采用易用并发的程序默认是单线程的,这非常适合脚本和 UI 代码,并通过在调用者的执行器线程上运行访问可变状态的异步代码,提供了更强的弹性。当您希望确保异步方法在并发线程池中运行,而不是在调用者的上下文中运行时,可以使用 @concurrent 注解。InfoQ 之前在苹果 WWDC 2025 宣布该功能后曾进行过报道,提供了更多细节和背景信息。
Swift 6.2 还引入了两项新功能,旨在编写具有可预测性能和最小开销的安全低级代码。第一个是 InlineArray,这是一个具有内联存储的固定大小数组,避免了额外的堆分配。声明内联数组的语法是:var inlineArray: [50 of String]。第二个功能是 Span,它是访问连续内存的缓冲区指针的安全替代方案。
Span 通过确保在您使用内存时内存保持有效来维护内存安全。这些保证在编译时进行检查,没有运行时开销,并且消除了指针固有的内存安全问题,例如释放后使用错误。
Swift 6.2 中低级编程的另一项增强是严格内存安全(strict memory safety),这是一种可选模式,旨在检测代码库中的不安全结构,使开发人员能够替换它们或明确确认它们的使用。
Swift 6.2 还引入了通过新的 Wasm SDK 编译到 Wasm 的支持。
Swift 中的 WebAssembly 支持最初是一个社区项目。任何指令集都从标准化的 ABI 和系统接口中受益匪浅,并且从一开始,Swift 中的 Wasm 支持就针对 WebAssembly 系统接口,这使得将 Swift 核心库移植到这个平台变得更加容易。
Swift 命令行编译器既可以从 Swift 源文件构建 Wasm 可执行文件,也可以使用 WasmKit(一个独立且可嵌入的 WebAssembly 运行时)来运行它。当程序员使用 Embedded Swift 时,Wasm 交叉编译器可以生成明显更小的二进制文件,它排除了运行时反射、元类型(如 SomeClass.Type)以及所有依赖它的标准库功能,例如 Codable、非最终泛型方法、弱引用和无主引用,以及其他增加语言复杂性的功能。
Swift 6.2 包含许多此处无法涵盖的更多增强功能,例如基于诊断组的精确警告控制、更快的宏处理、改进的异步代码调试以及扩展的 Swift Testing API。有关完整详细信息,请务必阅读官方公告。