0Pricing
Zig Academy · Aula

Percorrendo e alterando fatias

Leia e escreva por meio de uma fatia.

Percorrendo e alterando fatias é 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.

Percorrendo uma fatia

Depois de obter uma fatia, geralmente você quer visitar cada elemento. O laço for do Zig percorre uma fatia de forma simples, do início ao fim. 🔁

O for sobre os itens

Coloque a fatia entre parênteses e nomeie cada elemento com uma entre barras verticais. O laço fornece um valor a cada passagem.

for (items) |value| {
    // use value
}

Somente leitura por padrão

Uma captura simples fornece uma cópia de cada elemento. Alterar essa cópia não modifica os dados subjacentes da fatia.

Capture por ponteiro para modificar

Adicione * antes do nome da captura para obter um ponteiro em vez de uma cópia. Agora, escrever por meio dele modifica o elemento real.

for (items) |*value| {
    value.* += 1;
}

Desreferencie para escrever

Com uma captura de ponteiro, use .* para acessar o valor para o qual ele aponta. Essa sintaxe permite tanto ler quanto atribuir.

value.* = 0;

A fatia precisa ser mutável

Para alterar elementos, o tipo da fatia precisa ser simplesmente []T, e não []const T. Uma fatia const impede a escrita por meio dela.

Percorrendo com um índice

Combine a fatia com um intervalo para obter também um contador. A segunda depois da vírgula é o índice atual.

for (items, 0..) |value, i| {
    // i is the index
}

Indexando diretamente

Você também pode escrever em uma posição pelo índice, sem uma captura no laço. Faça a atribuição entre colchetes, assim como em um vetor.

items[0] = 42;

Percorrendo duas fatias juntas

Passe várias fatias para um único laço for para percorrê-las em passo sincronizado. Elas precisam ter o mesmo comprimento ou o programa entra em pânico.

for (xs, ys) |x, y| {
    // x and y line up
}

Acumulando um resultado

Mantenha um total acumulado em uma var declarada antes do laço e atualize-o a cada passagem para calcular uma soma.

var total: i32 = 0;
for (items) |v| total += v;

Ignorando com continue

Dentro do laço, continue pula diretamente para o elemento seguinte. Use-o para ignorar valores que falham em um teste rápido.

for (items) |v| {
    if (v < 0) continue;
}

Verificação rápida

Você quer dobrar cada elemento de uma fatia []i32 no próprio lugar. Qual forma de captura permite escrever o resultado de volta?

Recapitulação

Percorra uma fatia com for: capturas simples leem cópias, |*value| com .* modifica no próprio lugar, e adicione um intervalo para acompanhar o índice. 🎯

Perguntas Frequentes

A aula “Percorrendo e alterando fatias” é grátis?

Sim — o texto completo de “Percorrendo e alterando fatias” é 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 “Percorrendo e alterando fatias”?

Leia e escreva por meio de uma fatia. 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 “Percorrendo e alterando fatias”?

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. Matrizes de tamanho fixo
  2. Fatias: um ponteiro mais um comprimento
  3. Criando fatias com array[start..end]
  4. Percorrendo e alterando fatias
← Voltar para Zig Academy