Swift - Declarações condicionais
Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Declarações condicionais
Uma declaracão condicional verifica uma condição e executa somente determinado bloco de código se a condição é true
. Swift possui ambas declaracões condicionais if
e if...else
.
Declaração if
A declaração if
verificará uma condição, se a condição for true
, o bloco de código será executado. A declaração if
tem o seguinte formato.
if condition {
block of code
}
Agora, veremos como usar a declaração if
na prática:
No código anterior, nós criamos duas constantes: teamOneScore
e teamTwoScore
. Nós então usamos um if
para verificar se o valor de teamOneScore
é maior que o valor de teamTwoScore
. Se o valor for maior, nós veremos Team One Won
como saída. Logo, quando executarmos este código realmente veremos como saída: Team One Won
, mas se por acaso o valor de teamTwoScore
fosse maior nada teria sido exibido como saída. Talvez este nosso código não seja o melhor dos mundos, pois queremos deixar claro para o usuário qual time ganhou. Para resolver este problema podemos usar if...else
.
Declaração if...else
A declaração condicional if...else
verifica uma determinada declaração condicional, se esta condicional for true
ela executa um bloco de código, se ela não for true
um outro bloco de código será executado.
Esta declaração tem o seguinte formato:
if condition {
block of code if true
} else {
block of code if not true
}
Agora vamos modificar o nosso código anterior para que o mesmo passe a usar if...else
:
Nesta nova versão de código será exibido como saída Team One Won
se o valor de teamOneScore
é maior que o valor de teamTwoScore
, caso contrário, será exibido como saída a mensagem Team Two Won
.
Este nosso exemplo tem um problema: o que acontece se teamOneScore
e teamTwoScore
forem iguais? Será exibido na saída Team Two Won
, mas isso não é verdade porque o time dois não foi o campeão dado que o resultado do jogo foi um empate. Em casos como teste, podemos usar múltiplas declarações else if
e uma declaração else
no final que representará o caminho padrão.
Isto que acabei de falar é ilustrado no código abaixo:
Declaração guard
Esta declaração foca em performar uma função se a condição é false
. Isto nos permite detectar erros facilmente em nossas funções.
Observe o exemplo:
Neste novo exemplo, nós verificamos se a variável x
é maior que 10
, se não for, executamos a condição de erro. No entanto, se x
for maior que 10
, a aplicação continua para a parte funcional do código. Note que dentro da declaração guard
usamos return
, é esta palavra chave que garante que o restante do código não será executado.
O código abaixo mostra como usar guard
para verificar se um opcional contém um valor válido:
Ainda não falamos sobre funções, mas este assunto será coberto em playgrounds futuros.
Declaração switch
A declaração switch
pega um valor base e compara com as correspondências possíveis, e então executa o bloco de código apropriado, baseado na primeira correspondência encontrada. A declaração switch
é uma alternativa ao uso de múltiplos else if
.
A declaração switch
tem o seguinte formato:
switch value {
case match1:
block of code
case match2:
block of code
default:
block of code
}
Ao contrário da maioria das outras linguagens, em Swift, a instrução switch não passa para a próxima instrução case
; portanto, não precisamos usar uma instrução break
para evitar essa falha. Este é outro recurso de segurança que foi incorporado ao Swift, pois um dos erros de programação mais comuns em relação à instrução switch
feita por programadores iniciantes é esquecer a instrução break
no final da instrução case
. Vamos dar uma olhada em como usar a instrução switch
:
Desafio
- Implemente um código Swift que utilize
switch
eenum
.