Swift - Declarações condicionais

oieteus
1,701 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

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 guardusamos 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 e enum.
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content