Swift 环境搭建

写 Swift 代码最方便的方式是用 Mac 上的 Xcode(Apple 官方免费 IDE)。没有 Mac 也有替代方案。本章带你从零搭好环境,并跑出第一个 Swift 程序。

1. Mac 用户:安装 Xcode

Xcode 是 Apple 官方 IDE,集编辑器、编译器、模拟器、调试器于一身。Mac App Store 搜索 "Xcode" 直接安装(免费)。安装包约 7GB,加上模拟器等会占 30GB+,建议留出空间。

装完后,在"应用程序"里启动 Xcode,首次运行会要求同意协议、自动安装额外组件(Command Line Tools),耐心等几分钟即可。完成后打开终端,输入下面命令验证:

# 1. 把代码保存为 hello.swift,内容只有一行:
print("Hello, World!")

# 2. 直接运行(像 Python 一样)
swift hello.swift
# 输出: Hello, World!

# 3. 编译成可执行文件(像 C 一样)
swiftc hello.swift -o hello
./hello
# 输出: Hello, World!

# 4. 查看 swift 版本
swift --version
# 输出类似:Swift version 5.10 (swift-5.10-RELEASE)

看到版本号输出说明 swift 命令行已就绪。即使不打开 Xcode,你也可以用任何编辑器(VS Code、Sublime)写 Swift,然后用 swift 命令运行。

2. 第一个 Playground

Playground是 Swift 独有的"交互式代码本",你敲一行代码,右边立刻显示结果,非常适合学习和试验。打开 Xcode:

// 在 Playground 里输入这行代码,右侧立即看到输出
let greeting = "Hello, Swift!"
print(greeting)

// 试试数学运算
let sum = 1 + 2 + 3 + 4 + 5
print("1 到 5 的和是 \(sum)")

每写一行,右侧就会出现结果预览(比如 greeting 的值、sum 的值 15)。这种"实时反馈"是 Playground 最大的魅力,适合用来学习语法、验证想法。

3. 命令行方式:swift 命令

如果你更喜欢像 Python 那样直接写脚本运行,可以用 swift 命令。它有两种用法:

另有 swift repl(直接输入 swift 回车)进入交互式 REPL,可以像 Python 那样逐行实验,退出按 Ctrl + D

4. 用 Swift Package Manager 管理项目

当项目稍大(超过一个文件)时,推荐用官方的 Swift Package Manager(简称 SPM)。它是 Swift 内置的依赖管理与构建工具,作用类似 npm/pip/cargo。

# 创建一个新的命令行项目
mkdir MyTool && cd MyTool
swift package init --type executable

# 项目结构(自动生成):
# MyTool/
# ├── Package.swift          # 包描述文件
# ├── Sources/
# │   └── MyTool/
# │       └── MyTool.swift    # 入口代码
# └── README.md

# 运行
swift run
# 输出: Hello, world!

打开 Sources/MyTool/MyTool.swift 改成你的代码,swift run 就能运行。要看 Package.swift 的样子:

// Package.swift:声明项目依赖、目标、产物
// 这是一个最小可用的 Package 描述
import PackageDescription

let package = Package(
    name: "MyTool",
    targets: [
        .executableTarget(
            name: "MyTool"),
    ]
)

SPM 不只能写命令行工具,也能写 iOS/macOS App。从 Xcode 14 起,新建 App 时默认就是 SPM 项目。

5. 没有 Mac 怎么办?

Swift 完整支持 Linux 和 Windows,可以从 swift.org/download 下载对应平台的工具链。但若想开发 iOS App,Xcode 是绕不过的——你可以:

6. 编辑器选择

7. 验证安装

无论你用哪种方式,完成环境搭建后,跑一次下面的检查清单:

三项都通过,环境就 OK 了。下一章我们正式开始学 Swift 的语法。

← 上一篇 Swift 语言简介

下一篇 Swift 基础语法

✈️💬