关于 Swift
Swift 是一种通用的编程语言,它对新手平易近人,对专家功能强大。它快速、现代、安全,并且编写起来令人愉悦。
- Swift 是通用的和现代的。适用于从系统编程,到移动和桌面应用程序,再到云服务的各种应用。
- Swift 是安全的。未定义的行为是安全的敌人,最好在软件投入生产之前发现错误。Swift 使显而易见的路径最安全。
- Swift 运行速度快,编写速度也快。它具有可预测且一致的性能,与基于 C 的语言相当,而又不牺牲开发人员的友好性。
- Swift 平易近人且功能强大。从单行的 “Hello, World!” 到具有数十万行代码的大型应用程序。Swift 可以根据您的需求进行扩展。
工具
工具是 Swift 生态系统的关键组成部分。我们努力与开发人员的工具集良好集成,快速构建,呈现出色的诊断信息,并实现交互式开发体验。工具可以使编程更加强大,就像基于 Swift 的 Playground 在 Xcode 中所做的那样,或者当使用 Linux 服务器端代码时,基于 Web 的 REPL 可以做到这一点。
特性
Swift 包含使代码更易于阅读和编写的功能,同时为开发人员提供真正的系统编程语言所需的控制。Swift 支持类型推断,使代码更简洁且不易出错,模块消除了头文件并提供了命名空间。内存是自动管理的,您甚至不需要键入分号。Swift 还借鉴了其他语言,例如从 Objective-C 引入的命名参数以简洁的语法表示,这使得 Swift 中的 API 易于阅读和维护。
Swift 的特性旨在协同工作,以创建一种功能强大且使用起来有趣的语言。Swift 的一些附加特性包括
- 与函数指针统一的闭包
- 元组和多个返回值
- 泛型
- 快速简洁地迭代范围或集合
- 支持方法、扩展和协议的结构体
- 函数式编程模式,例如,map 和 filter
- 内置强大的错误处理
- 使用
do
、guard
、defer
和repeat
关键字的先进控制流
安全性
Swift 从一开始就被设计得比基于 C 的语言更安全,并消除了整个类别的不安全代码。变量总是在使用前初始化,数组和整数会检查溢出,并且内存是自动管理的。语法经过调整,可以轻松定义您的意图 — 例如,简单的三个字符的关键字定义变量 (var
) 或常量 (let
)。
另一个安全特性是,默认情况下 Swift 对象永远不能为 nil
,尝试创建或使用 nil
对象会导致编译时错误。这使得编写代码更加简洁和安全,并防止了运行时崩溃的常见原因。但是,在某些情况下,nil
是合适的,对于这些情况,Swift 有一个称为 optionals 的创新特性。Optional 可能包含 nil
,但 Swift 语法强制您使用 ?
安全地处理它,以向编译器表明您理解该行为并将安全地处理它。
平台支持
在开放环境中开发 Swift 最令人兴奋的方面之一是,它现在可以自由地移植到各种平台、设备和用例中。
我们的目标是在所有平台上为 Swift 提供源代码兼容性,即使实际的实现机制可能因平台而异。主要的例子是 Apple 平台包含 Objective-C 运行时,这是访问 Apple 平台框架(如 UIKit 和 AppKit)所必需的。在其他平台(如 Linux)上,不存在 Objective-C 运行时,因为这不是必需的。
Swift 核心库项目旨在通过提供基本 Apple 框架(例如 Foundation)的可移植实现,而无需依赖 Objective-C 运行时,来扩展 Swift 的跨平台功能。尽管核心库仍处于早期开发阶段,但它们最终将为所有平台上的 Swift 代码提供改进的源代码兼容性。
Apple 平台
开源 Swift 可以在 Mac 上用于面向所有 Apple 平台:iOS、macOS、watchOS 和 tvOS。此外,开源 Swift 的二进制版本与 Xcode 开发工具集成,包括对 Xcode 构建系统、编辑器中的代码完成和集成调试的完整支持,允许任何人在熟悉的 Cocoa 和 Cocoa Touch 开发环境中体验最新的 Swift 开发成果。
Linux
开源 Swift 可以在 Linux 上用于构建 Swift 库和应用程序。开源二进制版本提供了 Swift 编译器和标准库、Swift REPL 和调试器 (LLDB) 以及核心库,因此可以立即投入 Swift 开发。
Windows
开源 Swift 可以在 Windows 上用于构建 Swift 库和应用程序。开源二进制版本提供了 C/C++/Swift 工具链、标准库和调试器 (LLDB),以及核心库,因此可以立即投入 Swift 开发。SourceKit-LSP 被捆绑到版本中,使开发人员能够使用他们选择的 IDE 快速提高效率。
新平台
我们迫不及待地想看到我们可以一起将 Swift 带到新的地方。我们真诚地相信,我们热爱的这种语言可以使软件更安全、更快、更易于维护。我们很乐意得到您的帮助,将 Swift 带到更多的计算平台。
和开源
2015 年 12 月 3 日,Swift 语言、支持库、调试器和包管理器在 Apache 2.0 许可证(带有运行时库例外)下发布,并创建了 来托管该项目。源代码托管在 GitHub 上,任何人都可以轻松获取代码、自行构建,甚至创建拉取请求以将代码贡献回项目。欢迎所有人,即使只是提交错误报告。该站点上还提供了出色的“开始使用”指南。
该项目由一个核心工程师团队管理,该团队通过与社区合作来推动战略方向,以及一组负责日常项目管理的代码所有者。技术领导者来自贡献者社区,任何人都可以赢得领导 Swift 某个领域的权利。“社区概览”包含有关 Swift 社区如何管理的详细信息。
项目
Swift 语言作为一个项目集合进行管理,每个项目都有自己的存储库。当前的项目列表包括
- Swift 编译器命令行工具
- 标准库,作为语言的一部分捆绑
- Core Libraries,提供更高级的功能
- 包含 Swift REPL 的 LLDB 调试器
- 用于分发和构建 Swift 源代码的 Swift 包管理器
- Xcode Playground 支持,以在 Xcode 中启用 Playground。