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