Programação Dart - Declaração Switch Case
A instrução switch avalia uma expressão, corresponde ao valor da expressão a uma cláusula case e executa as instruções associadas a esse caso.
A seguir está a sintaxe.
switch(variable_expression) {
case constant_expr1: {
// statements;
}
break;
case constant_expr2: {
//statements;
}
break;
default: {
//statements;
}
break;
}
O valor do variable_expressioné testado em todos os casos do switch. Se a variável corresponder a um dos casos, o bloco de código correspondente é executado. Se nenhuma expressão case corresponder ao valor de variable_expression, o código dentro do bloco padrão será associado.
As seguintes regras se aplicam a uma instrução switch -
- Pode haver qualquer número de declarações de caso em um switch.
- As instruções case podem incluir apenas constantes. Não pode ser uma variável ou uma expressão.
- O tipo de dados de variable_expression e a expressão constante devem corresponder.
- A menos que você coloque uma pausa após cada bloco de código, a execução flui para o próximo bloco.
- A expressão do caso deve ser única.
- O bloco padrão é opcional.
O diagrama de fluxo do switch…case declaração é a seguinte -
Exemplo - switch ... case
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;
}
}
O exemplo verifica o valor da variável grade em relação ao conjunto de constantes (A, B, C, D e E) e executa os blocos correspondentes. Se o valor na variável não corresponder a nenhuma das constantes mencionadas acima, o bloco padrão será executado.
Os seguintes output é exibido na execução bem-sucedida do código acima.
Excellent