break, continue e laços rotulados
Controle os laços com precisão usando rótulos.
break, continue e laços rotulados é uma aula grátis de Zig 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 Zig Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Zig Academy inclui 4 aulas no total.
Dois controles de laço
Dentro de qualquer laço, break sai completamente do laço, enquanto continue avança para a próxima iteração. Eles oferecem controle preciso sobre o fluxo. 🎛️
break sai imediatamente
Quando break é executado, o laço para imediatamente e a execução continua na linha logo após o laço. Nada mais no corpo é executado.
for (items) |x| {
if (x == 0) break;
use(x);
}continue avança
Um continue abandona o restante da passagem atual e segue para a próxima iteração, mantendo o laço em execução.
for (items) |x| {
if (x < 0) continue;
total += x;
}Eles afetam o laço mais interno
Por padrão, break e continue afetam apenas o laço mais interno que os envolve. Um laço externo continua executando como se nada tivesse acontecido.
Dando nome a um laço
Você pode associar um rótulo a um laço usando um nome e dois-pontos. Esse rótulo permite direcionar o controle para o laço a partir de níveis mais internos.
outer: for (rows) |row| {
for (row) |cell| {
check(cell);
}
}break para um rótulo
Escreva break :outer para sair diretamente de um laço externo nomeado a partir de um laço aninhado. Uma instrução desfaz os dois níveis.
outer: for (rows) |row| {
for (row) |cell| {
if (cell == target) break :outer;
}
}continue para um rótulo
Use continue :outer para avançar à próxima iteração de um laço externo rotulado, abandonando instantaneamente o restante do laço interno.
Os rótulos substituem sinalizadores
Antes dos rótulos, você poderia definir um sinalizador found e verificá-lo após cada laço. O break rotulado elimina esse código repetitivo e torna a leitura mais clara.
break rotulado retorna um valor
Um laço rotulado também pode ser uma expressão. break :outer value devolve esse valor como resultado do laço rotulado inteiro.
const hit = outer: for (rows) |row| {
for (row) |c| {
if (c == target) break :outer c;
}
} else 0;Os blocos também podem ter rótulos
Os rótulos não servem apenas para laços. Um bloco comum pode receber um rótulo, e break com um valor transforma esse bloco em uma expressão.
const x = blk: {
const t = compute();
break :blk t * 2;
};Mantenha o Aninhamento Raso
O controle rotulado é poderoso, mas os laços profundamente aninhados prejudicam a legibilidade. Recorra aos rótulos quando eles trouxerem clareza, não para justificar um código confuso.
Verificação Rápida
De um laço interno, você quer sair do laço externo chamado outer. Qual instrução faz isso?
Recapitulação
Você dominou break e continue: o laço mais interno por padrão, laços rotulados para aninhamento, instruções break rotuladas que retornam valores e blocos rotulados. 🎯
Aprenda Zig com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 30
- Aulas
- 120
Perguntas Frequentes
A aula “break, continue e laços rotulados” é grátis?
Sim — o texto completo de “break, continue e laços rotulados” é 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 Zig Academy, atualize para CoddyKit PRO. O curso de Zig Academy inclui 4 aulas no total.
O que vou aprender em “break, continue e laços rotulados”?
Controle os laços com precisão usando rótulos. Você pratica Zig 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 Zig Academy?
Nenhuma experiência prévia é necessária. Zig 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 “break, continue e laços rotulados”?
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 Zig Academy?
Sim. Cada aula de Zig 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
- if como instrução e expressão
- Laços while e expressões continue
- Laços for sobre intervalos e itens
- break, continue e laços rotulados