continue語句告訴一個循環(huán)體立刻停止本次循環(huán),重新開始下次循環(huán)。就好像在說“本次循環(huán)我已經(jīng)執(zhí)行完了”,但是并不會離開整個循環(huán)體。
let puzzleInput = "great minds think alike"
var puzzleOutput = ""
for character in puzzleInput.characters {
switch character {
case "a", "e", "i", "o", "u", " ":
continue
default:
puzzleOutput.append(character)
}
}
print(puzzleOutput)
// 輸出 "grtmndsthnklk"
Break
break語句會立刻結束整個控制流的執(zhí)行。當你想要更早的結束一個switch代碼塊或者一個循環(huán)體時,你都可以使用break語句。
fall through
在swift的switch中,case后面加了fallthrough的用法,就和OC的case后面沒加break的用法是一樣的!
使用fallthrough需要注意的有:
1.加了fallthrough后,會直接運行【緊跟的后一個】case或default語句,不論條件是否滿足都會執(zhí)行
var age = 10
switch age {
case 0...10:
print(小朋友)
fallthrough
case 11...20:
print(大朋友)
case let x:
print((x)歲的朋友)
}
//輸出結果:
小朋友
大朋友
2.加了fallthrough語句后,【緊跟的后一個】case條件不能定義常量和變量
fallthrough后一個case條件里不允許定義常量/變量——除了緊跟著的后一個,后面的其他case還是可以定義常量/變量的
var age = 10
switch age {
case 0...10:
print(小朋友)
fallthrough //此處報錯
case let x:
print((x)歲的朋友)
}
//程序報錯:
'fallthrough' cannot transfer control to a case label that declares variables
3.執(zhí)行完fallthrough后直接跳到下一個條件語句,本條件執(zhí)行語句后面的語句不執(zhí)行
var age = 10
switch age {
case 0...10:
print(小朋友)
fallthrough
print(我跳轉了哦) //這一句沒有執(zhí)行
case 11...20:
print(大朋友)
case let x:
print((x)歲的朋友)
}
//輸出結果:
小朋友
大朋友