
232
第 5 章
流程控制与其他
本章将会介绍
Swift
语言剩余的其他方面。首先将会介绍
Swift
分支、循环与跳转流程控
制结构的语法,然后再来介绍如何重写运算符以及如何创建自定义运算符。最后将会介
绍
Swift
的隐私性与内省特性,以及用于引用类型内存管理的专用模式。
5.1
流程控制
计算机程序都有通过代码语句表示的执行路径。正常来说,这个路径会遵循着一个简单
的规则:连续执行每一条语句。不过还有另外的可能。流程控制用于让执行路径跳过某
些代码语句,或是重复执行一些代码语句。流程控制使得计算机程序变得“智能”,而
不只是执行简单、固定的一系列步骤。通过测试条件(结果为
Bool
的表达式,因此值为
true
或
false
)的真值,程序可以确定如何继续。基于条件测试的流程控制大体上可以
分为以下两种类型。
分支
代码被划分为不同的区块,就像树林中分叉的路一样,程序有几种可能进行下去的
方式:条件真值用于确定哪一个代码区块会被真正执行。
循环
将代码块划分出来以重复执行:条件真值用于确定代码块是否应该执行,然后是否
应该再次执行。每次重复都叫作一次迭代。一般来说,每次迭代时都会改变一些环
境特性(比如,变量的值),这样重复就不是一样的了,而是整个任务处理中的连
续阶段。
流程控制中的代码块(称为块)是由花括号包围的。这些花括号构成了一个作用域。可