1.2 版本兼容性

原文链接: https://docs.swift.org/latest/documentation/the-swift-programming-language/compatibility/

1.2 版本兼容性

了解在旧的语言模式下可以使用哪些功能。

本书描述的是 Swift 6.4,也就是 Xcode 26.4 中默认包含的 Swift 版本。你可以用 Swift 6.4 的编译器来构建用 Swift 6.4、Swift 5、Swift 4.2 或 Swift 4 编写的代码。

当你用 Swift 6.4 编译器构建使用 Swift 5 语言模式的代码时,仍然可以使用 Swift 6.4 的新特性——它们要么默认开启,要么通过"即将到来的特性"标志开启。不过,若要启用严格的并发检查,则需要升级到 Swift 6.4 语言模式。

此外,当你在 Xcode 15.3 中构建 Swift 4 和 Swift 4.2 代码时,大部分 Swift 5 的功能依然可用。话虽如此,下面这些变化只对使用 Swift 5 及更高语言模式的代码生效:

  • 返回不透明类型的函数需要 Swift 5.1 运行时。
  • try? 表达式不会给本来就返回可选值的表达式再增加一层可选性。
  • 大整数常量的初始化表达式会被推断为正确的整数类型。例如,UInt64(0xffff_ffff_ffff_ffff) 会求值出正确的结果,而不是溢出。

使用并发需要 Swift 5 语言模式,以及提供了相应并发类型的 Swift 标准库版本。在 Apple 平台上,部署目标至少需要设为 iOS 13、macOS 10.15、tvOS 13、watchOS 6 或 visionOS 1。

用 Swift 6.4 编写的目标可以依赖用 Swift 5、Swift 4.2 或 Swift 4 编写的目标,反之亦然。这意味着,如果你有一个拆分成多个框架的大型项目,可以一次迁移一个框架到更新的语言版本。