Zig Academy · Aula

Criando fatias com array[start..end]

Crie subvisões sem fazer cópias.

Aula 3 de 413 etapas

Criando fatias com array[start..end] é uma aula grátis de Zig Academy no CoddyKit. Esta é a aula 3 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.

Extraindo uma visão

Às vezes, você quer apenas parte de um vetor. A extração por fatia permite obter um subintervalo como uma nova fatia sem copiar nenhum elemento. ✂️

A sintaxe de intervalo

Escreva o início e o fim entre colchetes, unidos por dois pontos: array[start..end]. Isso produz uma fatia sobre essas posições.

const part = data[1..3];

O fim é exclusivo

O índice final é exclusivo, portanto array[1..3] inclui as posições 1 e 2, mas para antes de 3. O resultado tem comprimento 2.

Fatia até o fim

Omita o fim para ir até o último elemento. data[2..] significa tudo a partir do índice 2.

const tail = data[2..];

Fatiando tudo

Usar [0..] transforma um vetor inteiro em uma fatia. Essa é a forma comum de passar um vetor completo para um código que recebe fatias.

const all = data[0..];

Nenhuma cópia é feita

A extração por fatia apenas calcula um novo ponteiro e comprimento. Os elementos continuam compartilhados com o vetor original, portanto a operação é rápida e não faz alocações.

Fatiando uma fatia

Você pode fatiar uma fatia assim como um vetor. O novo intervalo é relativo ao próprio início da fatia, restringindo ainda mais a visão.

const inner = part[0..1];

Intervalo fora dos limites é detectado

Se o início ou o fim ficar fora dos dados, compilações seguras entram em pânico durante a execução. Isso impede que você leia memória que nunca possuiu.

Fatias em tempo de compilação

Quando os limites são conhecidos em tempo de compilação, o resultado pode ser um ponteiro para um vetor com um comprimento fixo incorporado ao tipo.

Fatias terminadas por sentinela

Adicione um terminador com [start..end :0] para garantir um zero no final. Isso é útil ao passar strings para código C.

const cstr = buf[0..n :0];

Comprimento a partir do intervalo

O comprimento de uma fatia é simplesmente fim menos início. Assim, data[2..5] sempre produz uma fatia cujo len é exatamente 3.

const three = data[2..5]; // len == 3

Verificação rápida

Você tem const data = [_]i32{ 0, 1, 2, 3, 4 }. Qual é o comprimento de data[1..4]?

Recapitulação

A sintaxe array[start..end] extrai uma subvisão: o fim é exclusivo, omita-o para obter a cauda, nada é copiado e os limites continuam verificados. 🎯

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 “Criando fatias com array[start..end]” é grátis?

Sim — o texto completo de “Criando fatias com array[start..end]” é 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 “Criando fatias com array[start..end]”?

Crie subvisões sem fazer cópias. 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 3 de 4.

Quanto tempo leva a aula “Criando fatias com array[start..end]”?

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