Programmazione Dart - Istruzione Switch Case

L'istruzione switch valuta un'espressione, abbina il valore dell'espressione a una clausola case ed esegue le istruzioni associate a quel caso.

Di seguito è riportata la sintassi.

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

Il valore di variable_expressionè testato contro tutti i casi nello switch. Se la variabile corrisponde a uno dei casi, viene eseguito il blocco di codice corrispondente. Se nessuna espressione case corrisponde al valore di variable_expression, viene associato il codice all'interno del blocco predefinito.

Le seguenti regole si applicano a un'istruzione switch:

  • Può esserci un numero qualsiasi di istruzioni case all'interno di uno switch.
  • Le istruzioni case possono includere solo costanti. Non può essere una variabile o un'espressione.
  • Il tipo di dati di variable_expression e di espressione costante devono corrispondere.
  • A meno che non si inserisca un'interruzione dopo ogni blocco di codice, l'esecuzione fluisce nel blocco successivo.
  • L'espressione case deve essere univoca.
  • Il blocco predefinito è facoltativo.

Il diagramma di flusso di switch…case l'affermazione è la seguente:

Esempio: interruttore ... custodia

void main() { 
   var grade = "A"; 
   switch(grade) { 
      case "A": {  print("Excellent"); } 
      break; 
     
      case "B": {  print("Good"); } 
      break; 
     
      case "C": {  print("Fair"); } 
      break; 
     
      case "D": {  print("Poor"); } 
      break; 
     
      default: { print("Invalid choice"); } 
      break; 
   } 
}

L'esempio verifica il valore del grado variabile rispetto all'insieme di costanti (A, B, C, D ed E) ed esegue i blocchi corrispondenti. Se il valore nella variabile non corrisponde a nessuna delle costanti menzionate sopra, verrà eseguito il blocco predefinito.

Il seguente output viene visualizzato in caso di corretta esecuzione del codice precedente.

Excellent