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