Dart switch/case語句

2019-10-16 22:08:03

switch語句計算表示式,並將表示式的值與case子句指定的值匹配,然後執行與該case相關的語句。

以下是switch/case語句的語法。

switch(variable_expression) { 
   case constant_expr1: { 
      // statements; 
   } 
   break; 

   case constant_expr2: { 
      //statements; 
   } 
   break; 

   default: { 
      //statements;  
   }
   break; 
}

針對switch語句中的所有case測試variable_expression的值。如果變數與其中一個case匹配,則執行相應的程式碼塊。如果case表示式與variable_expression的值不匹配,則執行default塊中的程式碼。

以下規則適用於switch語句 -

  • switch中可以有任意數量的case語句。
  • case語句只能包含常數,它不能是變數或表示式。
  • variable_expression和常數表示式的資料型別必須匹配。
  • 除非你在每個程式碼塊之後放置break語句,否則執行會流入下一個break塊。
  • case表示式必須是唯一的。
  • default塊是可選的。

switch...case語句的流程圖如下 -

switch/case語句

範例

void main() { 
   var grade = "A"; 
   switch(grade) { 
      case "A": {  print("相當牛逼"); } 
      break; 

      case "B": {  print("厲害"); } 
      break; 

      case "C": {  print("一般"); } 
      break; 

      case "D": {  print("二愣子"); } 
      break; 

      default: { print("Invalid choice"); } 
      break; 
   } 
}

該範例根據常數集(A,B,C,D和E)驗證變數等級的值,並執行相應的塊。如果變數中的值與上面提到的任何常數都不匹配,則將執行預設(default)塊。

執行上述程式碼後,將得到以下輸出 -

相當牛逼