Swift fallthrough語句
在 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