通過無條件地把控制權(quán)從一片代碼傳遞到另一片代碼,控制傳遞語句能夠改變代碼執(zhí)行的順序。Swift 提供四種類型的控制傳遞語句:break語句、continue語句、fallthrough語句和return語句。
控制傳遞語句(Control Transfer Statement) 語法
控制傳遞語句 → break語句
控制傳遞語句 → continue語句
控制傳遞語句 → fallthrough語句
控制傳遞語句 → return語句
break語句用于終止循環(huán)或switch語句的執(zhí)行。使用break語句時,可以只寫break這個關(guān)鍵詞,也可以在break后面跟上標簽名(label name),像下面這樣:
break
breaklabel name
當break語句后面帶標簽名時,可用于終止由這個標簽標記的循環(huán)或switch語句的執(zhí)行。
而當只寫break時,則會終止switch語句或上下文中包含break語句的最內(nèi)層循環(huán)的執(zhí)行。
在這兩種情況下,控制權(quán)都會被傳遞給循環(huán)或switch語句外面的第一行語句。
關(guān)于使用break語句的例子,詳情參見控制流一章的 Break 和帶標簽的語句。
Break 語句語法
break語句 → break 標簽名稱 可選
continue語句用于終止循環(huán)中當前迭代的執(zhí)行,但不會終止該循環(huán)的執(zhí)行。使用continue語句時,可以只寫continue這個關(guān)鍵詞,也可以在continue后面跟上標簽名(label name),像下面這樣:
continue
continuelabel name
當continue語句后面帶標簽名時,可用于終止由這個標簽標記的循環(huán)中當前迭代的執(zhí)行。
而當只寫break時,可用于終止上下文中包含continue語句的最內(nèi)層循環(huán)中當前迭代的執(zhí)行。
在這兩種情況下,控制權(quán)都會被傳遞給循環(huán)外面的第一行語句。
在for語句中,continue語句執(zhí)行后,increment 表達式還是會被計算,這是因為每次循環(huán)體執(zhí)行完畢后increment 表達式都會被計算。
關(guān)于使用continue語句的例子,詳情參見控制流一章的 Continue 和帶標簽的語句。
Continue 語句語法
continue語句 → continue 標簽名稱 可選
fallthrough語句用于在switch語句中傳遞控制權(quán)。fallthrough語句會把控制權(quán)從switch語句中的一個 case 傳遞給下一個 case 。這種傳遞是無條件的,即使下一個 case 的模式與上一篇:Swift可選類型下一篇:Swift協(xié)議合成類型