苹果公司发布了 Swift 6.3。官方版本适用于 Linux、Windows 和 macOS。源代码采用 Apache 2.0 许可证。
Swift 结合了 C 和 Objective-C 的最佳元素,并提供了与 Objective-C 兼容的对象模型(Swift 代码可以与 C 和 Objective-C 代码混合),但不同之处在于它使用自动内存分配、变量溢出控制和数组,防止使用未初始化的变量并在释放内存后阻止对内存的访问,这显着提高了代码的可靠性和安全性。 Swift 还提供了许多现代编程技术,例如闭包、泛型编程、lambda 表达式、元组和字典类型、快速集合操作以及函数式编程元素。
Swift 实现是使用免费 LLVM 项目的技术构建的。为了确保高性能,Swift 程序被编译为机器代码,在测试中证明其性能比 Objective-C 代码快 30%。 Swift 使用对象引用计数来代替垃圾收集器。该软件包包括 Swift Package Manager,它提供了用于分发带有 Swift 语言库和应用程序的模块和软件包、管理依赖项、自动下载、组装和链接组件的工具。
新版本的主要变化:
- Swift SDK for Android 平台的首个正式版本已经发布,它允许您使用 Swift 语言开发 Android 应用程序,以及将单个 Swift 组件嵌入到用 Java 和 Kotlin 编写的现有 Android 应用程序中。
- 添加了“@c”属性,允许将用 Swift 编写的函数和枚举导出到 C 代码中使用(生成一个包含相应 C 定义的头文件)。
- 实现了模块选择器,允许您在多个导入的模块提供同名 API 时,显式指定要使用的 API 来自哪个模块。`import ModuleA import ModuleB let x = ModuleA::getValue() // 调用 ModuleA 的 'getValue' 方法 let y = ModuleB::getValue() // 调用 ModuleB 的 'getValue' 方法
- 新增了控制编译器优化的属性:@specialize — 为常用类型专门化通用 API;@inline — 在调用点内联展开函数;@export(implementation) — 将函数实现导出到库的稳定 ABI。
- 本文提出了一种将 Swift Build 构建系统集成到 SwiftPM(Swift 包管理器)中的初步实现方案。
来源: opennet.ru
