淺談Swift編程中switch與fallthrough語句的使用_Swift

來源:互聯網
上載者:User

在 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 15Value of index is 5

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.