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
- Switch Exaustivo sobre Valores
- Comparação de Intervalos e Tuplas
- Vinculação de Valores e Cláusulas where
- Casos Compostos e Fallthrough