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