Swift Fallthrough 語(yǔ)句

Swift 循環(huán)Swift 循環(huán)

Swift fallthrough 語(yǔ)句讓 case 之后的語(yǔ)句會(huì)按順序繼續(xù)運(yùn)行,且不論條件是否滿(mǎn)足都會(huì)執(zhí)行。

Swift 中的 switch 不會(huì)從上一個(gè) case 分支落入到下一個(gè) case 分支中。只要第一個(gè)匹配到的 case 分支完成了它需要執(zhí)行的語(yǔ)句,整個(gè)switch代碼塊完成了它的執(zhí)行。

注意:在大多數(shù)語(yǔ)言中,switch 語(yǔ)句塊中,case 要緊跟 break,否則 case 之后的語(yǔ)句會(huì)順序運(yùn)行,而在 Swift 語(yǔ)言中,默認(rèn)是不會(huì)執(zhí)行下去的,switch 也會(huì)終止。如果你想在 Swift 中讓 case 之后的語(yǔ)句會(huì)按順序繼續(xù)運(yùn)行,則需要使用 fallthrough 語(yǔ)句。

語(yǔ)法

Swift fallthrough 語(yǔ)句的語(yǔ)法格式如下:

fallthrough

一般在 switch 語(yǔ)句中不使用 fallthrough 語(yǔ)句。

實(shí)例1

以下實(shí)例沒(méi)有使用 fallthrough 語(yǔ)句:

import Cocoa

var index = 10

switch index {
   case 100  :
      print( "index 的值為 100")
   case 10,15  :
      print( "index 的值為 10 或 15")
   case 5  :
      print( "index 的值為 5")
   default :
      print( "默認(rèn) case")
}

當(dāng)上面的代碼被編譯執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

index 的值為 10 或 15

實(shí)例2

以下實(shí)例使用 fallthrough 語(yǔ)句:

import Cocoa

var index = 10

switch index {
   case 100  :
      print( "index 的值為 100")
      fallthrough
   case 10,15  :
      print( "index 的值為 10 或 15")
      fallthrough
   case 5  :
      print( "index 的值為 5")
   default :
      print( "默認(rèn) case")
}

當(dāng)上面的代碼被編譯執(zhí)行時(shí),它會(huì)產(chǎn)生下列結(jié)果:

index 的值為 10 或 15
index 的值為 5

Swift 循環(huán)Swift 循環(huán)