0Pricing
Swift Academy · Aula

Casos Compostos e Fallthrough

Combine casos e use fallthrough intencionalmente.

Casos Compostos e Fallthrough é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

Casos compostos

Um único caso pode corresponder a vários valores, separando-os por vírgulas: case "a", "b":. Todos os valores listados executam o mesmo código.

let letter = "a"
switch letter {
case "a", "e", "i", "o", "u":
    print("Vowel")
default:
    print("Consonant")
}

Por que usar casos compostos

Os casos compostos evitam a duplicação de corpos idênticos. Eles agrupam valores que devem se comportar da mesma maneira.

let day = 6
switch day {
case 6, 7:
    print("Weekend")
case 1, 2, 3, 4, 5:
    print("Weekday")
default:
    print("Invalid day")
}

Compostos com intervalos

Você pode combinar intervalos e valores individuais em um único caso composto.

let code = 204
switch code {
case 200, 201, 204:
    print("Success")
case 400...499:
    print("Client error")
default:
    print("Other")
}

Casos compostos e vinculação

Ao fazer uma vinculação em um caso composto, cada alternativa deve vincular os mesmos nomes com os mesmos tipos.

let point = (0, 5)
switch point {
case (let v, 0), (0, let v):
    print("On an axis at distance \(v)")
default:
    print("Off the axes")
}

Introdução ao avanço para o próximo caso

Os casos de Swift não avançam para o próximo por padrão. A palavra-chave fallthrough força a execução a continuar no caso seguinte.

let n = 1
switch n {
case 1:
    print("one")
    fallthrough
case 2:
    print("two")
default:
    print("done")
}

Como funciona o avanço para o próximo caso

fallthrough passa incondicionalmente ao corpo do caso seguinte; ele não verifica novamente a condição desse caso. Use-o deliberadamente.

let level = 3
switch level {
case 3:
    print("Level 3 perks")
    fallthrough
case 2:
    print("Level 2 perks")
    fallthrough
case 1:
    print("Level 1 perks")
default:
    break
}

O avanço ignora os padrões

Como o avanço ignora a verificação do padrão seguinte, o próximo caso não pode depender da vinculação de um valor, ou o código não será compilado.

let x = 10
switch x {
case 10:
    print("ten")
    fallthrough
default:
    print("reached default")
}

Casos compostos versus avanço

Para executar o mesmo código com vários valores, prefira um caso composto. Reserve fallthrough para comportamentos realmente encadeados.

let grade = "B"
switch grade {
case "A", "B":
    print("Passing")
default:
    print("Other")
}

Acumulando com avanço

O avanço é útil para efeitos cumulativos, como listar todas as vantagens de uma categoria até as inferiores.

let tier = 2
var perks = [String]()
switch tier {
case 2:
    perks.append("Premium")
    fallthrough
case 1:
    perks.append("Basic")
default:
    break
}
print(perks)

Combinando os dois

Você pode usar casos compostos e avanço na mesma seleção, escolhendo o mais adequado em cada situação.

let n = 0
switch n {
case 0:
    print("zero")
    fallthrough
case 1, 2:
    print("small")
default:
    print("large")
}

Observação sobre legibilidade

O avanço pode surpreender os leitores, pois a maioria das linguagens o utiliza por padrão. Comente sua intenção ou prefira casos compostos quando possível.

let status = "warn"
switch status {
case "warn", "error":
    print("Needs attention")
default:
    print("OK")
}

Verificação rápida

Teste casos compostos e avanço.

Recapitulação: casos compostos e avanço

Use casos compostos separados por vírgulas para compartilhar um mesmo corpo entre vários valores. Use a palavra-chave explícita fallthrough somente quando quiser intencionalmente que a execução continue em cascata para o caso seguinte.

let n = 2
switch n {
case 1, 2: print("small")
default: print("big")
}

Perguntas Frequentes

A aula “Casos Compostos e Fallthrough” é grátis?

Sim — o texto completo de “Casos Compostos e Fallthrough” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “Casos Compostos e Fallthrough”?

Combine casos e use fallthrough intencionalmente. Você pratica Swift Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Swift Academy?

Nenhuma experiência prévia é necessária. Swift Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Casos Compostos e Fallthrough”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Swift Academy?

Sim. Cada aula de Swift Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Switch Exaustivo sobre Valores
  2. Comparação de Intervalos e Tuplas
  3. Vinculação de Valores e Cláusulas where
  4. Casos Compostos e Fallthrough
← Voltar para Swift Academy