Zig Academy · Aula

break, continue e laços rotulados

Controle os laços com precisão usando rótulos.

Aula 4 de 413 etapas

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. 🎯

Grátis para começar

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

  1. if como instrução e expressão
  2. Laços while e expressões continue
  3. Laços for sobre intervalos e itens
  4. break, continue e laços rotulados
← Voltar para Zig Academy