Criando fatias com array[start..end]
Crie subvisões sem fazer cópias.
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 == 3Verificaçã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. 🎯
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
- Matrizes de tamanho fixo
- Fatias: um ponteiro mais um comprimento
- Criando fatias com array[start..end]
- Percorrendo e alterando fatias