附录D 术语表

附录D:术语表

术语不是用来吓人的,而是用来在一句话里准确表达复杂概念。遇到不熟的词,回到这里快速定位章节。

术语含义章节
ARC自动引用计数,管理类实例生命周期第27章
actor串行保护隔离状态的引用类型第31章
actor isolation隔离域,actor 内部状态的访问边界第31章
associatedtype协议中的关联类型第22章
async/await异步函数与等待语法第30章
autoclosure自动把表达式包成闭包第14章
BinaryInteger定长与不定长整数共同的协议族上层第49章
BOM字节顺序标记(U+FEFF);出现在 UTF-8 源文件开头时被编译器忽略第2章
borrowing只借入不消耗参数的所有权修饰第29章
COW写时复制,修改时才分离共享存储第27章
Collection可重复遍历、有下标与 count 的序列协议第48章
capture list闭包捕获列表,控制捕获方式第14、28章
consuming把参数所有权交给被调函数第29章
CustomStringConvertible让类型决定 description,即 "\(value)" 的输出第52章
CustomDebugStringConvertible决定 debugDescription,即 String(reflecting:) 的输出第52章
Decimal十进制浮点数,用于金额等不能有二进制舍入误差的场景第49章
dump走反射把值打印成树,与 print 不同第52章
escape闭包或值逃离当前生命周期,见 @escaping第14、29章
existential type存在类型,即 any P第22、24章
escaping逃逸闭包,调用返回后仍存活第14章
FixedWidthInteger有固定位宽的整数协议,提供 &+、溢出检查等第49章
FormatStyle数字、货币、百分比、日期的格式化配置类型第49章
identifier标识符;可用中文与 emoji,但不做 Unicode 规范化第2章
IteratorProtocol迭代器协议,for ... in 真正调用的那一层第48章
key path键路径,把属性访问变成值(可当单参数函数使用)第15B、24章
lazy 视图把 map、filter 串成一条链、按需计算的视图,不缓存结果第48、51章
literal字面量,如 42、"hi",由 ExpressibleBy…Literal 协议支撑第15B、24章
LosslessStringConvertible能从字符串无损还原成值的协议第52章
macro编译期展开的代码生成器,分自由宏与附着宏第26章
MainActor代表主线程的全局 actor,UI 代码的默认舞台第31章
Measurement带单位的量,如 5 km、30 °C第49章
MemoryLayout查询类型的 size / stride / alignment 与字段偏移第52章
metatype元类型,Int.self 这类“类型的值”第24章
Mirror只读反射工具,用于查看值的结构第24、52章
noncopyable不可复制类型,写作 ~Copyable第29章
Numeric支持四则运算的数值协议族根节点第49章
opaque type不透明类型,如 some P第22、23章
ownership所有权,值的转移与借用规则第29章
pattern matching模式匹配,switch 的核心第12章
property wrapper属性包装器第19章
RandomAccessCollection能在 O(1) 内跳到任意位置的集合协议第48章
reduce(into:)把序列累积进一个可变容器,避免写时复制开销第51章
result builder结果构建器,DSL 里的声明式代码块;@ViewBuilder 是最出名的实例第15B、22章
Sendable可安全跨隔离域传递的标记第31章
Sequence能按顺序遍历一次的协议,map / filter 的落脚点第48章
source encoding源文件编码;Swift 只接受 UTF-8第2章
Span不拥有内存的连续元素视图第29章
stride生成等差数列的全局函数;to: 不含终点,through: 含第51章
structured concurrency结构化并发,父子任务的生命周期绑定第30章
sugar语法糖;写法更短但语义不变,如 [Int]、if let x第15B章
task group任务组,动态派发并等待一组子任务第30章
tuple元组,临时组合多个值第8章
typed throws类型化抛出,写作 throws(E)第15章
value semantics值语义,复制后互不影响第17章
view builder (@ViewBuilder)SwiftUI 提供的结果构建器,让块里能写 if、switch、ForEach第15B.18节、第37章
weak / unowned弱引用与无主引用,用来打断循环引用第28章
zip把两个序列配对成元组,以短的为准第51章

补充几条容易混在一起的:

术语含义章节
implicit member隐式成员表达式,上下文已知类型时可写 .red第15B章
if/switch expression表达式化的 if / switch,分支产出值(没有 do 表达式)第11、12、15B章
callAsFunction让实例可以像函数一样被调用第15B、24章
trailing closure尾随闭包,把最后一个闭包参数移到圆括号外第14、15B章

D.1 中英对照速查

读完中文教程去翻官方文档时,最容易卡住的不是语法,而是“这个中文词在英文资料里叫什么”。这张表按概念归类,方便在官方文档里直接搜索:

中文英文关键词常出现在哪里
可选值 / 解包optional, unwrap, force unwrapTSPL「Optional Chaining」
可选绑定optional binding, if letTSPL「Optional Binding」
值类型 / 引用类型value type, reference typeTSPL「Structures and Classes」
写时复制copy-on-write标准库文档、性能话题
所有权 / 借用ownership, borrow, consumeSE-0377、SE-0390
隔离域 / 参与者isolation, actorSwift Concurrency 文档
结构化并发structured concurrencySwift Concurrency 文档
逃逸闭包escaping closure, @escapingTSPL「Closures」
属性包装器property wrapperSE-0258
结果构建器result builderSE-0289
视图构建器view builder, @ViewBuilderSE-0289 与 SwiftUI 文档
不透明类型 / 存在类型opaque type, existential typeSE-0244、SE-0335
类型擦除type erasure泛型与协议话题
自由宏 / 附着宏freestanding macro, attached macroSwift Macros 文档
序列 / 迭代器sequence, iterator标准库 Sequence / IteratorProtocol
惰性求值lazy evaluation, lazy view标准库 LazySequence
整数协议族integer protocolsBinaryInteger、FixedWidthInteger
格式化format styleFormatStyle、Foundation 格式化文档
反射reflection, mirror标准库 Mirror、dump
内存布局 / 填充memory layout, stride, alignment, padding标准库 MemoryLayout
依赖注入dependency injection工程实践,非语言规范
最后修改 September 19, 2026: 更新 (3489033b1)