Controle de Laços no Contexto de switch
Diferencie break em laços e em switches.
Controle de Laços no Contexto de switch é 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.
break em switch
Dentro de um switch, break encerra o caso do switch. Os casos do Swift não passam automaticamente para o seguinte, portanto break geralmente é opcional, mas permitido.
let n = 2
switch n {
case 1:
print("one")
case 2:
print("two")
break
default:
print("other")
}Caso vazio com break
Use break para deixar explícito que um caso não faz nada, o que é mais claro do que um corpo vazio.
let code = 0
switch code {
case 0:
break // intentionally ignore
default:
print("handled", code)
}
print("after switch")break em um switch dentro de um laço
Quando um switch está dentro de um laço, um break comum sai do switch, não do laço.
for n in 1...4 {
switch n {
case 3:
break // exits switch only
default:
print(n)
}
}
print("loop finished")Saindo do laço a partir de um switch
Para sair do laço envolvente a partir de dentro de um switch, identifique o laço com um label e use break label.
loop: for n in 1...5 {
switch n {
case 3:
break loop
default:
print(n)
}
}
print("done")continue a partir de um switch
Um continue comum dentro de um switch se refere ao laço envolvente, passando para a próxima iteração dele.
for n in 1...5 {
switch n {
case let x where x % 2 == 0:
continue
default:
print(n)
}
}Por que a distinção é importante
Confundir break de switch com break de laço é um erro comum. Lembre-se: um break sem label em um switch apenas sai do switch.
for n in 1...3 {
switch n {
case 2:
break
default:
print("value", n)
}
}
print("all values processed")fallthrough
Se você realmente quiser um comportamento de passagem direta, use a palavra-chave explícita fallthrough.
let n = 1
switch n {
case 1:
print("one")
fallthrough
case 2:
print("two")
default:
print("done")
}break com label para maior clareza
Mesmo quando não é estritamente necessário, um break com label documenta que você quer sair do laço.
scan: for value in [10, 20, 30, 40] {
switch value {
case 30:
break scan
default:
print(value)
}
}Combinando cláusulas where
Cláusulas de padrão where junto com continue permitem filtrar de maneira elegante dentro de um switch.
for n in 1...6 {
switch n {
case let x where x > 4:
continue
default:
print(n)
}
}Switch e laço aninhados
Com laços aninhados e um switch, os labels tornam o alvo inequívoco.
outer: for i in 1...3 {
for j in 1...3 {
switch j {
case 2:
break outer
default:
print(i, j)
}
}
}Prática recomendada
Use break sem label somente para sair de um caso de switch; sempre identifique o laço com um label quando a intenção for sair dele a partir de dentro de um switch.
main: for n in 1...5 {
switch n {
case 4:
break main
default:
print(n)
}
}Verificação rápida
Teste break em comparação com break de laço.
Recapitulação
Em um switch, um break sem label sai apenas do caso do switch (o Swift não faz passagem direta implícita; use fallthrough para isso). Para sair de um laço envolvente a partir de dentro de um switch, identifique o laço com um label e use break label. Um continue sem label continua se referindo ao laço.
loop: for n in 1...4 {
switch n {
case 3: break loop
default: print(n)
}
}Perguntas Frequentes
A aula “Controle de Laços no Contexto de switch” é grátis?
Sim — o texto completo de “Controle de Laços no Contexto de switch” é 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 “Controle de Laços no Contexto de switch”?
Diferencie break em laços e em switches. 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 “Controle de Laços no Contexto de switch”?
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
- Noções Básicas de break e continue
- Instruções Rotuladas
- Saindo de Laços Aninhados
- Controle de Laços no Contexto de switch