Menu
Coddy logo textTech

Intervalos em Laços

Parte da seção Fundamentos do Journey de Swift da Coddy. Lição 48 de 86.

Você tem usado intervalos como 1...5 nos seus loops, mas Swift oferece mais flexibilidade na forma como você define esses intervalos. Vamos explorar os diferentes tipos de intervalo e uma técnica útil para fazer a contagem regressiva.

O operador de intervalo fechado (...) inclui ambos os limites:

for i in 1...3 {
    print(i)
}
// Saída: 1, 2, 3

O operador de intervalo semiaberto (..<) exclui o limite superior, o que é especialmente útil ao trabalhar com índices baseados em zero:

for i in 0..<3 {
    print(i)
}
// Saída: 0, 1, 2

Às vezes, você precisa percorrer em ordem inversa. O método reversed() permite iterar de trás para frente por um intervalo:

for i in (1...3).reversed() {
    print(i)
}
// Saída: 3, 2, 1

Observe os parênteses ao redor do intervalo: eles são necessários ao chamar reversed() em um intervalo. Essa técnica é perfeita para contagens regressivas ou quando você precisa processar itens do último ao primeiro.

challenge icon

Desafio

Fácil
Escreva uma função countdown que receba n e retorne uma string contendo uma contagem regressiva de n até 1, seguida por "Go!".

Use o método reversed() em um intervalo para iterar de trás para frente e construir a string da contagem regressiva.

Lógica:

  • Crie um intervalo de 1 até n e inverta-o
  • Construa uma string com cada número separado por uma quebra de linha
  • Adicione "Go!" na linha final

Parâmetros:

  • n (Int): O número inicial da contagem regressiva (1 ou maior)

Retorno: Uma string com cada número da contagem regressiva em sua própria linha, terminando com "Go!" (String). Formato:

3
2
1
Go!

Por exemplo, se n for 3, a função retornará "3\n2\n1\nGo!".

Experimente você mesmo

func countdown(n: Int) -> String {
    // Escreva o código aqui
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos

Pratique por conta própria: Playground de Swift