Latest web development tutorials

Swift switch 語句

Swift 條件語句 Swift條件語句

switch語句允許測試一個變量等於多個值時的情況。Swift 語言中?只要匹配到case 語句,則整個switch 語句執行完成。


語法

Swift 語言中switch 語句的語法:

switch expression {
   case expression1  :
      statement(s)
      fallthrough /* 可选 */
   case expression2, expression3  :
      statement(s)
      fallthrough /* 可选 */
  
   default : /* 可选 */
      statement(s);
}

一般在switch 語句中不使用fallthrough 語句。

這裡我們需要注意case語句中如果沒有使用fallthrough語句,則在執行當前的case語句後,switch會終止,控制流將跳轉到switch語句後的下一行。

如果使用了fallthrough語句,則會繼續執行之後的case或default語句,不論條件是否滿足都會執行。

注意:在大多數語言中,switch語句塊中,case要緊跟break,否則case之後的語句會順序運行,而在Swift語言中,默認是不會執行下去的,switch也會終止。如果你想在Swift 中讓case 之後的語句會按順序繼續運行,則需要使用fallthrough 語句。

實例1

以下實例沒有使用fallthrough 語句:

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( "默认 case")
}

當上面的代碼被編譯執行時,它會產生下列結果:

index 的值为 10 或 15

實例2

以下實例使用fallthrough 語句:

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( "默认 case")
}

當上面的代碼被編譯執行時,它會產生下列結果:

index 的值为 10 或 15
index 的值为 5

Swift 條件語句 Swift條件語句