Swift基礎(chǔ)之控制流

Swift提供了多種流程控制結(jié)構(gòu),包括可以多次執(zhí)行任務(wù)的while循環(huán),基于特定條件選擇執(zhí)行不同代碼分支的if、guardswitch語句,還有控制流程跳轉(zhuǎn)到其他代碼的breakcontinue語句。

Swift 還增加了for-in循環(huán),用來更簡單地遍歷數(shù)組(array),字典(dictionary),區(qū)間(range),字符串(string)和其他序列類型。

For-In 循環(huán)

與OC的相比功能更加泡兒否(powerful)-。-??!能夠遍歷區(qū)間、數(shù)組、字符串、字典。

While循環(huán)
  • while循環(huán),每次在循環(huán)開始時計算條件是否符合;
  • repeat-while循環(huán),每次在循環(huán)結(jié)束時計算條件是否符合。

注意: Swift語言的repeat-while循環(huán)合其他語言中的do-while循環(huán)是類似的。

If

這個語句已經(jīng)如此簡潔明了而眾所周知,不太好發(fā)揮,所以蘋果沒好意思該名-。-??!。

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執(zhí)行完就終止switch語句,再也不用擔(dān)心霸(dai)氣(ma)一不小心側(cè)漏了

注意: 雖然在Swift中break不是必須的,但你依然可以在 case 分支中的代碼執(zhí)行完畢前使用break跳出,詳情請參見Switch 語句中的 break。
注意: 如果想要貫穿至特定的 case 分支中,請使用fallthrough語句,詳情請參考貫穿(Fallthrough)

  • 每一個 case 分支都必須包含至少一條語句

  • case 分支的模式也可以是一個值的區(qū)間。
    未完待續(xù)……

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容