Swift: Swift 简介:零基础入门指南

Swift 是 Apple 推出的现代编程语言,结合了 C 和 Objective-C 的优点,同时更安全、更快速、更易读。本课带你从零搭建开发环境,写出第一行 Swift 代码。

1. 你将学到


2. 一个零基础转行者的真实故事

(1) 痛点:想开发 App 却不知道从哪开始

Alice 是一名市场分析师,工作 5 年后想转行做 iOS 开发。她在网上搜索了 3 天,发现学习资源很多但无从下手:

"有人说学 Objective-C,有人说学 Swift,还有人说要先学 C 语言。下载了 Xcode 4.7GB 但是打开后完全不知道点哪里——界面太复杂了。"

Alice 的困境很典型:信息过载导致决策瘫痪

(2) Playgrounds 的解法

一位朋友建议她先不要碰 Xcode 项目,而是用 Swift Playgrounds 起步——一个轻量级的 Swift 交互式运行环境。

SWIFT
// Swift Playgrounds 的第一行代码
print("Hello, world!")

Playgrounds 不需要创建项目、不需要配置签名、不需要理解 Storyboard。写一行代码,立刻看到结果。 Alice 在 15 分钟内写出了第一个程序。

(3) 收益:15 分钟从 0 到 1

维度 之前 之后
心理门槛 "我学不会编程" "原来写代码这么简单"
安装时间 3 天纠结 10 分钟下载 Playgrounds
第一个程序 没写出来 15 分钟 Hello World
下一步信心 0/10 7/10

3. Swift 是什么

Swift 是 Apple 于 2014 年 WWDC 发布的现代编程语言,用于开发 iOS、macOS、watchOS 和 tvOS 应用。它吸收了多种语言的优秀设计理念。

100%
graph LR
    A[Swift] --> B[安全]
    A --> C[快速]
    A --> D[现代]
    A --> E[开源]
    B --> B1[可选类型消除空值崩溃]
    B --> B2[类型安全防止类型错误]
    C --> C1[LLVM 编译优化]
    C --> C2[与 C/OC 性能相当]
    D --> D1[闭包/泛型/模式匹配]
    D --> D2[简洁语法可读性强]
    E --> E1[GitHub 开源]
    E --> E2[Linux 也可运行]

(1) Swift 的主要特点

特点 说明 对比 Objective-C
类型安全 编译时检查类型错误 OC 可以用 id 任意传递
可选类型 ?! 明确标记空值 OC 的 nil 可以向任意对象发消息
自动内存管理 ARC 自动管理引用计数 OC 需手动 retain/release
闭包 函数是一等公民,支持闭包表达式 OC 的 block 语法笨重
泛型 类型参数化,编写通用代码 OC 不支持泛型
协议扩展 协议可以有默认实现 OC 的 protocol 只能声明
开源 跨平台支持 Linux OC 不开源

(2) Swift 可以用来做什么

领域 框架/工具 说明
iOS 应用 UIKit / SwiftUI iPhone 和 iPad 应用开发
macOS 应用 AppKit / SwiftUI Mac 桌面应用开发
watchOS WatchKit Apple Watch 应用
tvOS tvOS SDK Apple TV 应用
服务端开发 Vapor / Kitura 用 Swift 写后端 API
脚本工具 Swift Script 替代 Shell/Python 写日常工具

▶ 示例:用 Playgrounds 体验 Swift

SWIFT
// ============================================
// 在 Playgrounds 中体验 Swift 交互
// 无需创建 Xcode 项目,打开即写
// ============================================

let greeting = "Hello, Swift!"
print(greeting)

// 直接显示计算结果
let result = 42 + 10
print("42 + 10 = \(result)")

输出:

TEXT 📖 仅展示
Hello, Swift!
42 + 10 = 52

4. 搭建开发环境

(1) 方案选择

方案 适用场景 安装方式 大小
Xcode 正式 iOS/macOS 开发 Mac App Store 下载 ~7GB
Playgrounds 初学者学习 Swift 语法 Mac App Store / iPad App Store ~150MB
Swift on Linux 服务端开发/跨平台 apt install swift ~500MB
在线 Playground 快速测试、无需安装 浏览器访问 0

(2) 安装 Playgrounds(推荐初学者)

如果你有 Mac 或 iPad,最快的方式是安装 Swift Playgrounds:

  1. 打开 Mac App Store(或 iPad App Store)
  2. 搜索 "Swift Playgrounds"
  3. 点击"获取"安装

安装后打开即可开始写代码,不需要注册 Apple 开发者账号,不需要配置任何签名证书。

(3) 安装 Xcode(进阶开发)

Xcode 是 Apple 官方的集成开发环境,包含完整的 iOS 开发工具链:

BASH
# Xcode 有两种安装方式
# 1. Mac App Store 搜索 "Xcode" 下载(推荐)
# 2. 从 Apple Developer 网站下载 .xip 包
⚠️ 注意: Xcode 约 7GB,安装需要 15-30 分钟(取决于网速)。如果只想学 Swift 语法,先用 Playgrounds 起步。

▶ 示例:Xcode 中创建 Playground

SWIFT
// ============================================
// 在 Xcode 中创建 Playground 文件
// File → New → Playground → Blank
// ============================================

import UIKit

var number = 42
number += 10

// Playground 的右侧面板会实时显示变量值
print(number)

输出:

TEXT 📖 仅展示
52

5. 第一个 Swift 程序的结构

每个 Swift 程序从入口文件开始执行。在 Playgrounds 中,代码从上到下逐行执行。

(1) 基本结构

100%
graph TB
    A[Swift 源文件 .swift] --> B[导入框架]
    A --> C[变量/常量声明]
    A --> D[函数定义]
    A --> E[表达式和语句]
    B --> F["import Foundation"]
    B --> G["import UIKit"]
    C --> H["let name = \"Alice\""]
    C --> I["var age = 28"]
    D --> J["func sayHello() { ... }"]
    E --> K["print(\"Hello\")"]

(2) print 函数详解

print 是 Swift 最常用的输出函数,用于将内容打印到控制台。

SWIFT
// ============================================
// print 函数的基本用法
// ============================================

// 1. 输出字符串
print("Hello, Swift!")

// 2. 输出多个值(自动空格分隔)
print("Hello", "Swift", "World")

// 3. 字符串插值
let name = "Alice"
print("My name is \(name)")

// 4. 指定分隔符和结束符
print("One", "Two", "Three", separator: ", ", terminator: ".\n")

输出:

TEXT 📖 仅展示
Hello, Swift!
Hello Swift World
My name is Alice
One, Two, Three.

▶ 示例:完整的 Swift 程序结构

SWIFT
// ============================================
// 完整的 Swift 程序:个人信息卡
// 演示 import、常量、变量、print
// ============================================

import Foundation

// 常量(不可变)
let appName = "Swift 入门"
let author = "Alice"

// 变量(可变)
var year = 2026
var version = 1.0

// 输出
print("欢迎来到 \(appName)")
print("作者:\(author),年份:\(year)")
print("版本:v\(version)")

// 更新版本号
version = 1.1
year = 2026

print("更新后:v\(version) (\(year))")

输出:

TEXT 📖 仅展示
欢迎来到 Swift 入门
作者:Alice,年份:2026
版本:v1.0
更新后:v1.1 (2026)

6. 完整示例:用 Playgrounds 做个简单计算器

SWIFT
// ============================================
// 完整示例:Playground 计算器
// 功能:基础算术运算演示
// ============================================

import Foundation

// 1. 定义输入
let a = 25
let b = 7

// 2. 计算
let sum = a + b
let difference = a - b
let product = a * b
let quotient = a / b
let remainder = a % b

// 3. 格式化输出结果
print("a = \(a), b = \(b)")
print("=== 运算结果 ===")
print("加法:\(a) + \(b) = \(sum)")
print("减法:\(a) - \(b) = \(difference)")
print("乘法:\(a) × \(b) = \(product)")
print("整除:\(a) ÷ \(b) = \(quotient) 余 \(remainder)")

输出:

TEXT 📖 仅展示
a = 25, b = 7
=== 运算结果 ===
加法:25 + 7 = 32
减法:25 - 7 = 18
乘法:25 × 7 = 175
整除:25 ÷ 7 = 3 余 4

❓ 常见问题

Q 学 Swift 需要先学其他语言吗?
A 不需要。Swift 是面向初学者的语言,从零开始完全可行。本教程就假设你没有任何编程经验。
Q 我没有 Mac,能学 Swift 吗?
A 可以。你可以使用网页版 Swift Playgrounds 或 SwiftFiddle 在线编辑器;也可以在 Linux 上安装 Swift 工具链。但发布 App 到 App Store 最终需要 Mac。
Q Swift 和 SwiftUI 是什么关系?
A Swift 是编程语言,SwiftUI 是基于 Swift 的 UI 框架。先学 Swift 语言基础(本教程),再学 SwiftUI 做界面。好比先学语法再学写作。
Q Xcode 太大了,能不能只用 Playgrounds 学完整套教程?
A 完全可以。本教程的全部代码示例都能在 Playgrounds 中运行。等你写满 28 课再考虑安装 Xcode 也不迟。
Q Swift 在 Windows 上能用吗?
A 官方不支持 Windows。但你可以使用 SwiftFiddle 等在线编辑器或安装 WSL 后在 Ubuntu 上运行 Swift。

📖 小节


📝 作业

  1. 基础题: 安装 Swift Playgrounds(或打开 Xcode 创建 Playground),运行 print 命令输出你的名字和当前年份。

  2. 进阶题: 修改第 6 节的完整示例,增加乘法运算的详细演示(至少包含 3 组不同的数值组合),并用 separator 参数美化输出格式。

  3. 挑战题: 参考第 6 节的代码风格,创建一个"单位转换器"程序,实现摄氏度和华氏度的互相转换(公式:℉ = ℃ × 9/5 + 32),要求同时显示两种单位的结果。

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏