位置:首頁 > 高級語言 > Swift教學 > Swift Switch語句

Swift Switch語句

在 Swift 中的 switch 語句,隻要第一個匹配 case 就執行完畢, 而不再通過最後的 case ,不像在 C 和 C++ 編程語言。 看看以下的對比,以下是 C 和 C++ 中的 switch 語句的通用語法:

switch(expression){
   case constant-expression  :
      statement(s);
      break; /* optional */
   case constant-expression  :
      statement(s);
      break; /* optional */
  
   /* you can have any number of case statements */
   default : /* Optional */
      statement(s);
}

在這裡,我們需要使用 break 語句從一個 case 語句中退出,否則執行控製都將轉到下麵提供匹配 case 語句後麵的 case 語句。

語法

以下是 Swift 的 switch 語句的通用語法:

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

如果不使用 fallthrough 語句,那麼程序會在 switch 語句執行匹配 case 語句後出來。我們將采取以下兩個例子,以使其明確功能。

示例 1

以下是 Swift 編程 switch 語句中不使用 fallthrough 一個例子:

import Cocoa

var index = 10

switch index {
   case 100  :
      println( "Value of index is 100")
   case 10,15  :
      println( "Value of index is either 10 or 15")
   case 5  :
      println( "Value of index is 5")
   default :
      println( "default case")
}

當上述代碼被編譯和執行時,它產生了以下結果:

Value of index is either 10 or 15

示例 2

以下是 Swift 編程 switch 語句中使用 fallthrough 的例子:

import Cocoa

var index = 10

switch index {
   case 100  :
      println( "Value of index is 100")
      fallthrough
   case 10,15  :
      println( "Value of index is either 10 or 15")
      fallthrough
   case 5  :
      println( "Value of index is 5")
   default :
      println( "default case")
}

當上述代碼被編譯和執行時,它產生了以下結果:

Value of index is either 10 or 15
Value of index is 5