跟C语言和Objective-C语言类似,Swift也提供了循环、条件判断流程控制结构和break、continue、fallthrough等语句。Swift使用for-in循环结构来遍历数组(array)、字典(dictionary)、区间(range)、字符串(string)和其他序列类型。Swift中的switch语句比Objective-C中的更加强大。在Objective-C语言中,如果某个 case 不小心漏写了break,这个case 就会贯穿(fallthrough)至下一个case,而在Swift中无需写break,所以不会发生这种贯穿(fallthrough)的情况。case 还可以匹配更多的类型模式,包括区间匹配(range matching)、元组(tuple)、特定类型的描述和进行值绑定。switch的case语句中匹配的值可以是由case体内部临时的常量或者变量决定,也可以由where分句描述更复杂的匹配条件。

Swift 3.0 中移除了C语言风格的循环语句,下面代码在Swift 3.0中会报错的。

for j=0;j<5;j+=1 {

Swift提供了for-in语句来循环遍历区间、数组、字符串、字典以及集合等序列值类型。如果循环过程中用不到序列中的值,可以使用下划线"_"来作为变量名忽略该值。

Swift中的while循环语句跟Objective-C中的用法是一致的。不过,Swift使用repeat-while语句来对应替换Objective-C中的do-while语句。