Swift: Swift 简介:零基础入门指南
Swift 是 Apple 推出的现代编程语言,结合了 C 和 Objective-C 的优点,同时更安全、更快速、更易读。本课带你从零搭建开发环境,写出第一行 Swift 代码。
1. 你将学到
- 什么是 Swift 语言及其核心特点
- Swift 的主要应用场景
- 如何安装 Xcode 和 Playgrounds
- 如何编写和运行第一个 Swift 程序
- Swift 代码的基本结构和 print 函数用法
2. 一个零基础转行者的真实故事
(1) 痛点:想开发 App 却不知道从哪开始
Alice 是一名市场分析师,工作 5 年后想转行做 iOS 开发。她在网上搜索了 3 天,发现学习资源很多但无从下手:
"有人说学 Objective-C,有人说学 Swift,还有人说要先学 C 语言。下载了 Xcode 4.7GB 但是打开后完全不知道点哪里——界面太复杂了。"
Alice 的困境很典型:信息过载导致决策瘫痪。
(2) Playgrounds 的解法
一位朋友建议她先不要碰 Xcode 项目,而是用 Swift Playgrounds 起步——一个轻量级的 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 应用。它吸收了多种语言的优秀设计理念。
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
// ============================================
// 在 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:
- 打开 Mac App Store(或 iPad App Store)
- 搜索 "Swift Playgrounds"
- 点击"获取"安装
安装后打开即可开始写代码,不需要注册 Apple 开发者账号,不需要配置任何签名证书。
(3) 安装 Xcode(进阶开发)
Xcode 是 Apple 官方的集成开发环境,包含完整的 iOS 开发工具链:
# Xcode 有两种安装方式
# 1. Mac App Store 搜索 "Xcode" 下载(推荐)
# 2. 从 Apple Developer 网站下载 .xip 包
▶ 示例:Xcode 中创建 Playground
// ============================================
// 在 Xcode 中创建 Playground 文件
// File → New → Playground → Blank
// ============================================
import UIKit
var number = 42
number += 10
// Playground 的右侧面板会实时显示变量值
print(number)
输出:
TEXT 📖 仅展示52
5. 第一个 Swift 程序的结构
每个 Swift 程序从入口文件开始执行。在 Playgrounds 中,代码从上到下逐行执行。
(1) 基本结构
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 最常用的输出函数,用于将内容打印到控制台。
// ============================================
// 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 程序:个人信息卡
// 演示 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 做个简单计算器
// ============================================
// 完整示例: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
❓ 常见问题
📖 小节
- Swift 是 Apple 推出的现代编程语言,用于开发 iOS/macOS/watchOS/tvOS 应用
- 初学者推荐用 Playgrounds 起步,安装快、无需配置
- Swift 的三大优势:安全、快速、现代
- 第一个 Swift 程序从
print("Hello, World!")开始 - Playgrounds 提供实时反馈,写一行代码立刻看到结果
- 本教程假设零基础,28 课带你从入门到能写实用命令行工具
📝 作业
-
基础题: 安装 Swift Playgrounds(或打开 Xcode 创建 Playground),运行
print命令输出你的名字和当前年份。 -
进阶题: 修改第 6 节的完整示例,增加乘法运算的详细演示(至少包含 3 组不同的数值组合),并用
separator参数美化输出格式。 -
挑战题: 参考第 6 节的代码风格,创建一个"单位转换器"程序,实现摄氏度和华氏度的互相转换(公式:
℉ = ℃ × 9/5 + 32),要求同时显示两种单位的结果。