Menu
Coddy logo textTech

Switch com Intervalos

Parte da seção Fundamentos do Journey de Swift da Coddy — lição 30 de 86.

As instruções switch tornam-se ainda mais poderosas quando você usa intervalos em vez de valores individuais. Isso é perfeito para categorizar números em grupos, como converter uma pontuação em uma nota.

let score = 85

switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 70..<80:
    print("C")
case 60..<70:
    print("D")
default:
    print("F")
}

O operador ... cria um intervalo fechado que inclui ambos os limites, então 90...100 corresponde a 90, 91, até o 100. O operador ..< cria um intervalo semiaberto que exclui o limite superior — 80..<90 corresponde de 80 a 89.

O Swift verifica cada caso em ordem e executa o primeiro que corresponder. Como nossa pontuação é 85, ela se enquadra em 80..<90, então "B" é impresso. Essa abordagem é muito mais limpa do que escrever múltiplos else if com operadores de comparação.

challenge icon

Desafio

Fácil

Escreva uma função getAgeCategory que recebe age e retorna a categoria da fase da vida baseada em faixas etárias.

Use uma instrução switch com intervalos para categorizar a idade em uma das cinco fases da vida.

Condições:

  • 0...2 - retorne "Infant"
  • 3...12 - retorne "Child"
  • 13...19 - retorne "Teenager"
  • 20...64 - retorne "Adult"
  • 65...120 - retorne "Senior"
  • Qualquer outro valor - retorne "Invalid age"

Parâmetros:

  • age (Int): A idade da pessoa

Retorna: A categoria da fase da vida como uma String

Folha de consulta

Instruções switch podem usar intervalos para corresponder a valores dentro de um intervalo específico:

let score = 85

switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 70..<80:
    print("C")
default:
    print("F")
}

O operador ... cria um intervalo fechado que inclui ambos os limites (ex: 90...100 corresponde de 90 a 100).

O operador ..< cria um intervalo semiaberto que exclui o limite superior (ex: 80..<90 corresponde de 80 a 89).

O Swift verifica cada caso em ordem e executa o primeiro que corresponder.

Experimente você mesmo

func getAgeCategory(age: 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