Swift基础之控制流

Swift提供了多种流程控制结构,包括可以多次执行任务的while循环,基于特定条件选择执行不同代码分支的if、guardswitch语句,还有控制流程跳转到其他代码的breakcontinue语句。

Swift 还增加了for-in循环,用来更简单地遍历数组(array),字典(dictionary),区间(range),字符串(string)和其他序列类型。

For-In 循环

与OC的相比功能更加泡儿否(powerful)-。-!!能够遍历区间、数组、字符串、字典。

While循环
  • while循环,每次在循环开始时计算条件是否符合;
  • repeat-while循环,每次在循环结束时计算条件是否符合。

注意: Swift语言的repeat-while循环合其他语言中的do-while循环是类似的。

If

这个语句已经如此简洁明了而众所周知,不太好发挥,所以苹果没好意思该名-。-!!。

Switch

还是那句话,更加炮儿否,然而,副作用未知……

  • 每个case可以包含多个模式,用逗号隔开,例如这样:
let someCharacter: Character = "e"
switch someCharacter {
case "a", "e", "i", "o", "u":
    print("\(someCharacter) is a vowel")
case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m",
"n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z":
    print("\(someCharacter) is a consonant")
default:
    print("\(someCharacter) is not a vowel or a consonant")
}
// 输出 "e is a vowel"
  • 不存在隐式的贯穿(No Implicit Fallthrough)
    这真是极好的……跟break说NO!,case执行完就终止switch语句,再也不用担心霸(dai)气(ma)一不小心侧漏了

注意: 虽然在Swift中break不是必须的,但你依然可以在 case 分支中的代码执行完毕前使用break跳出,详情请参见Switch 语句中的 break。
注意: 如果想要贯穿至特定的 case 分支中,请使用fallthrough语句,详情请参考贯穿(Fallthrough)

  • 每一个 case 分支都必须包含至少一条语句

  • case 分支的模式也可以是一个值的区间。
    未完待续……

你可能感兴趣的:(Swift基础之控制流)