Swift 5 发布了,这是一个重要里程碑。
此版本终于迎来了 ABI 稳定,因此 Swift 运行时现在可以引入到 Apple 平台各类操作系统的不同版本中,包括 macOS、iOS、tvOS 与 watchOS。Swift 5 还引入了构建块的新功能,包括重新实现 String、在运行时对执行内存的独占访问与新数据类型,以及对动态可调用类型的支持。
Swift 5 兼容 Swift 4、Swift 4.1 和 Swift 4.2,Xcode 10.2 中包含了一个代码迁移器,可以自动处理许多迁移需要用到的源码更改。
语言更新
稳定的 ABI 与二进制兼容性
ABI 已经稳定,因此 Swift 库现在可以整合到每个 macOS、iOS、tvOS 和 watchOS 版本中,应用将更容易构建,并且体积更小,因为它们不必包含这些库。
标准库更新
Swift 5 中的标准库包括以下新特性:
- 使用 UTF-8 编码重新实现的 String 可以产生更快的代码,之前我们已经报导过:
- 改进了对字符串中原生文本的支持
- 标准库添加 Result 和 SIMD 矢量类型
- 增强了字符串插值功能,为从数据构造文本提供了更多灵活性
- 改进了 Dictionary 和 Set 的性能
其它语言和编译器更新
Swift 5 默认为调试和发布版本强制执行对内存的独占访问。此外 Swift 5 支持动态可调用类型,有助于提高与 Python、JavaScript 和 Ruby 等动态语言的互操作性。
包管理器更新
Swift 5 为 Swift Package Manager 带来了许多新功能,包括依赖镜像、特定于目标的构建设置、自定义部署目标与生成代码覆盖率数据的能力。此外,swift run 命令现在可以在 REPL 中导入库而无需构建可执行文件。
详情查看。
下载:
- Linux:Ubuntu 18.04、Ubuntu 16.04 和 Ubuntu 14.04 的官方。
- 苹果(Xcode):Swift 5 ,此外还有工具链可以下载:https://swift.org/download。
- 源码:。