Zig Academy · Aula

for inline e laços desenrolados

Percorra dados em tempo de compilação.

Aula 4 de 413 etapas

for inline e laços desenrolados é 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.

Um laço executado em tempo de compilação

Um inline for é um laço que o compilador desenrola durante a compilação. Em vez de repetir em tempo de execução, ele copia o corpo para cada item. 🔁

A palavra-chave inline

Coloque inline antes de for para pedir ao Zig que expanda o laço em tempo de compilação. A quantidade de iterações precisa ser conhecida nesse momento.

inline for (items) |item| {}

Desenrolar significa copiar o corpo

O desenrolamento substitui o laço por uma cópia do corpo para cada elemento. Nenhum contador de laço permanece em tempo de execução, apenas código linear.

Iterar sobre uma tupla conhecida

Um uso comum é percorrer uma tupla cujos campos diferem quanto ao tipo. Cada cópia desenrolada pode tratar seu elemento com o tipo correto.

inline for (.{ 1, true, 3.0 }) |v| {}

O índice pode ser comptime

Com um inline for, o índice do laço é um valor de tempo de compilação em cada passagem, portanto você pode usá-lo onde apenas constantes são permitidas.

inline for (list, 0..) |v, i| {}

Cada iteração pode ser diferente

Como o corpo é duplicado, cada cópia pode usar um tipo ou valor diferente. Um laço for normal não pode fazer isso.

Refletir sobre os campos de uma estrutura

Combine inline for com reflexão de tipos para visitar cada field de uma estrutura em tempo de compilação, gerando código personalizado para cada um.

inline for (fields) |field| {}

Trocar tamanho do código por velocidade

O desenrolamento remove a sobrecarga do laço, mas aumenta o binário. Use inline for com quantidades pequenas e fixas, quando o ganho de velocidade compensar.

A quantidade precisa ser conhecida

Um inline for precisa de um comprimento que o compilador consiga ver. Percorrer uma fatia de comprimento desconhecido em tempo de execução não pode ser desenrolado.

Também existe inline while

O Zig também oferece inline while. Ele desenrola um laço while em tempo de compilação quando a condição pode ser resolvida durante a compilação.

Mantenha quantidades pequenas

Use inline for quando a quantidade de itens for pequena e fixa. Para comprimentos grandes ou desconhecidos, um laço for simples mantém o binário enxuto.

Verificação rápida

O que adicionar inline a um laço for pede que o compilador do Zig faça?

Recapitulação

Um inline for desenrola em tempo de compilação um laço de comprimento conhecido, permitindo que cada cópia use seu próprio tipo e removendo a sobrecarga de laços em tempo de execução. 🎯

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 “for inline e laços desenrolados” é grátis?

Sim — o texto completo de “for inline e laços desenrolados” é 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 “for inline e laços desenrolados”?

Percorra dados em tempo de compilação. 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 “for inline e laços desenrolados”?

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. Tempo de compilação versus tempo de execução
  2. Parâmetros e valores comptime
  3. Tipos são valores comptime
  4. for inline e laços desenrolados
← Voltar para Zig Academy