Swift 是苹果公司推出的编程语言,旨在替代 Objective-C,后者自 20 世纪 80 年代初以来基本没有任何更新,缺乏现代语言功能。
2014 年 6 月 2 日,苹果在 WWDC 上首次发布了 Swift,以及第一个公开使用 Swift 编写的应用程序:WWDC 应用程序,同时向苹果的注册开发者发布了 Swift 语言的测试版,但未承诺最终版本与测试版本的源代码相互兼容。
苹果宣称 Swift 的特点是:快速、现代、安全、互动,而且明显优于 Objective-C 语言。
2014 年 9 月 9 日,Swift 1.0 和 iOS 8、Xcode 6.0 一同
正式发布
G
M
版本
,达成了一个重要的里程碑。
就在今天,
苹果为 Swift 发布了 10 周年重磅更新:Swift 6
。
该版本带来了语言和标准库的增强、改进的调试工具、跨平台库的扩展以及对嵌入式开发和生产力工具的支持。
Swift 6 的发布为 Swift 语言带来了显著的进步,包括对并发、类型化异常抛出、所有权、C++ 互操作性、嵌入式 Swift 以及 128 位整数的支持和改进。
它引入了新的同步库、类型化抛出机制、对不可复制类型的支持以及对嵌入式开发的初步支持。
此外,
Swift 6 还增强了对 C++ 的互操作性
,统一了 Foundation 在所有平台上的实现,并推出了全新的 Swift Testing 库。
该版本还提供了
对 Linux 和 Windows 平台的全面支持,包括对更多 Linux 发行版和 Windows 架构的支持,以及为 Linux 提供了全静态 SDK
。
Swift 6 还致力于提高生产效率,通过引入新的生产力增强功能和改进的调试宏,使得开发者能够更高效地编写和调试代码。
Swift 长期以来一直提供内存安全性,确保变量在使用前初始化,内存在释放后不会被访问,并且会检查数组索引是否存在越界错误。
Swift 6 现在包含一种新的可选语言模式,该模式扩展了 Swift 的安全保证,通过将代码中潜在的数据争用诊断为编译器错误来防止并发代码中的数据争用。
数据竞争安全检查以前在 Swift 5.10 中通过编译器标志
-strict-concurrency=complete
以警告形式提供。
得益于改进的推理和用于将可变状态从一个参与者转移到另一个参与者的新编译器分析,Swift 6 关于数据竞争安全的警告误报更少。
Swift 6 标志着数据竞争安全性的起步,该旅程将大大简化。Swift 6 还附带了一个用于低级并发 API 的新同步库,包括原子操作和新的互斥 API。
Swift 6 允许函数在其签名中指定其抛出的错误类型。此功能在转发客户端代码中抛出的错误时,或在无法分配内存的资源受限环境中(例如嵌入式 Swift 代码)非常有用。
func parseRecord(from string: String) throws(ParseError) -> Record {
// ...
}
调用
parseRecord(from:)
将返回一个
Record
实例或抛出一个类型的错误
ParseError
。
do..catch
块将推断变量
ParseError
的类型
error
:
do