Swift - Declaração de mudança
Uma instrução switch no Swift 4 completa sua execução assim que o primeiro caso correspondente é concluído, em vez de cair no fundo dos casos subsequentes, como acontece nas linguagens de programação C e C ++. A seguir está uma sintaxe genérica da instrução switch em C e C ++ -
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);
}
Aqui precisamos usar break declaração para sair de uma declaração de caso, caso contrário o controle de execução cairá através do subsequente case declarações disponíveis abaixo para correspondência de declaração de caso.
Sintaxe
A seguir está uma sintaxe genérica da instrução switch disponível no Swift 4 -
switch expression {
case expression1 :
statement(s)
fallthrough /* optional */
case expression2, expression3 :
statement(s)
fallthrough /* optional */
default : /* Optional */
statement(s);
}
Se não usarmos fallthrough declaração, então o programa sairá de switchdepois de executar a instrução case correspondente. Tomaremos os dois exemplos a seguir para deixar clara sua funcionalidade.
Exemplo 1
A seguir está um exemplo de instrução switch na programação Swift 4 sem usar fallthrough -
var index = 10
switch index {
case 100 :
print( "Value of index is 100")
case 10,15 :
print( "Value of index is either 10 or 15")
case 5 :
print( "Value of index is 5")
default :
print( "default case")
}
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
Value of index is either 10 or 15
Exemplo 2
A seguir está um exemplo de instrução switch na programação Swift 4 com fallthrough -
var index = 10
switch index {
case 100 :
print( "Value of index is 100")
fallthrough
case 10,15 :
print( "Value of index is either 10 or 15")
fallthrough
case 5 :
print( "Value of index is 5")
default :
print( "default case")
}
Quando o código acima é compilado e executado, ele produz o seguinte resultado -
Value of index is either 10 or 15
Value of index is 5