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