基础语法与类型
可选型、元组、类型推断。
35 分钟
基础语法与类型
Swift 是静态类型语言:编译期检查类型安全,同时支持类型推断。对照 /roadmaps/swift-ui「基础语法」节点,掌握变量、常量、可选型与集合是读懂 SwiftUI 代码的前提。
学习目标
- 区分
let与var,理解类型推断 - 掌握 Optional 与解包方式
- 使用数组、字典、元组与字符串插值
- 了解类型别名与基础类型转换
核心概念
变量、常量与类型推断
let appName = "CodeRoadMap" // 常量,不可重新赋值
var lessonCount = 12 // 变量
var score: Double = 98.5 // 显式类型注解
// 类型推断为 String,但可标注
let trackSlug: String = "swift-ui-essentials"
// 元组:多值组合
let lesson = (id: 1, title: "语法基础", duration: 35)
print("\(lesson.title),\(lesson.duration) 分钟")
Swift 用 let 优先不可变值,减少意外修改;SwiftUI 中 @State 包裹的变量例外,由框架管理变更。
可选型 Optional
var nickname: String? = nil // 可能为 nil
nickname = "Coder"
// if let 安全解包
if let name = nickname {
print("昵称: \(name)")
}
// nil 合并运算符
let displayName = nickname ?? "匿名用户"
// 可选链
struct User {
var profile: Profile?
}
struct Profile {
var bio: String
}
let user = User(profile: Profile(bio: "SwiftUI 学习者"))
print(user.profile?.bio ?? "暂无简介")
Optional 显式表达「可能为空」,编译器强制处理 nil,避免空指针崩溃。
集合与字符串
// 数组
var tags: [String] = ["Swift", "SwiftUI", "iOS"]
tags.append("Xcode")
// 字典
var settings: [String: Bool] = [
"darkMode": true,
"notifications": false,
]
settings["darkMode"] = false
// 遍历
for tag in tags {
print(tag)
}
for (key, value) in settings {
print("\(key): \(value)")
}
// 字符串插值与多行
let summary = """
Track: \(appName)
课时: \(lessonCount)
标签: \(tags.joined(separator: ", "))
"""
print(summary)
SwiftUI 列表数据常用 [Item] 配合 Identifiable 协议;字典适合配置映射。
与 React/SwiftUI 对照
| Swift | TypeScript / React | SwiftUI 场景 |
|---|---|---|
let / var | const / let | @State private var |
String? | string | undefined | 可选 API 字段 |
[T] |