位置:首页 > 高级语言 > 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