D 程式設計 - switch 語句



switch 語句允許將變數與一系列值進行相等性測試。每個值稱為一個 case,被切換的變數會針對每個switch case進行檢查。

語法

D 程式語言中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); 
}

switch語句適用以下規則:

  • switch語句中使用的表示式必須是整型或列舉型別,或者是一個類型別,該類具有單個轉換為整型或列舉型別的轉換函式。

  • 在一個 switch 中可以包含任意數量的 case 語句。每個 case 後面跟著要比較的值和一個冒號。

  • case 的常量表達式必須與 switch 中的變數具有相同的資料型別,並且必須是常量或字面量。

  • 當被切換的變數等於某個 case 時,該 case 後面的語句將執行,直到遇到break語句。

  • 遇到break語句時,switch 將終止,控制流跳轉到 switch 語句後面的下一行。

  • 並非每個 case 都需要包含break。如果沒有break,控制流將貫穿到後續的 case,直到遇到 break。

  • switch語句可以有一個可選的default case,它必須出現在 switch 的末尾。當沒有任何 case 為真時,可以使用 default case 執行任務。在default case 中不需要break

流程圖

switch statement in D

示例

import std.stdio;
 
int main () { 
   /* local variable definition */ 
   char grade = 'B';
   switch(grade) { 
      case 'A' : 
         writefln("Excellent!" ); 
         break; 
      case 'B' : 
      case 'C' : 
         writefln("Well done" ); 
         break; 
      case 'D' : 
         writefln("You passed" ); 
         break; 
      case 'F' : 
         writefln("Better try again" ); 
         break; 
      default : 
         writefln("Invalid grade" ); 
   } 
   writefln("Your grade is %c", grade ); 
  
   return 0; 
} 

編譯並執行上述程式碼後,將產生以下結果:

Well done 
Your grade is B
d_programming_decisions.htm
廣告
© . All rights reserved.