0Pricing
Zig Academy · Aula

Estruturas anônimas e tuplas

Crie valores agrupados sob demanda.

Estruturas anônimas e tuplas é 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.

Às vezes você só precisa dele uma vez

Nem todo agrupamento merece um tipo nomeado. Zig permite escrever uma estrutura anônima diretamente no local em que ela é usada.

Basta remover o nome

Um literal de estrutura anônima começa com .{ e lista os campos por nome, sem escrever um tipo antes dele.

const p = .{ .x = 1, .y = 2 };

Use os campos normalmente

Você lê os campos da mesma forma que em uma estrutura nomeada, usando um ponto. Aqui, p.x vale 1 e p.y vale 2.

const sum = p.x + p.y;

Converta para um tipo nomeado

Um literal anônimo pode ser convertido em uma estrutura nomeada quando o tipo de destino é conhecido, como no valor de retorno.

fn make() Point {
    return .{ .x = 0, .y = 0 };
}

Tuplas não têm nomes de campos

Deixe os nomes dos campos de fora e você obterá uma tupla: uma estrutura anônima cujos campos são acessados pela posição.

const pair = .{ 1, 2 };

Acesse uma tupla por índice

Acesse um campo da tupla pelo número, escrito como um nome de campo. Assim, pair[0] vale 1 e pair[1] vale 2.

const first = pair[0];

Tipos diferentes são permitidos

Cada campo de uma tupla pode ter um tipo diferente. Um único literal pode conter simultaneamente um inteiro, um booleano e uma string.

const row = .{ 42, true, "hi" };

Tuplas têm um comprimento

Uma tupla ainda é uma estrutura, portanto tem um len conhecido em tempo de compilação, que você pode ler com tuple.len.

const n = row.len; // 3

Ótimo para argumentos de impressão

std.debug.print recebe uma tupla de valores para formatar. Esse .{} que você passa é uma tupla anônima.

std.debug.print("{} {}\n", .{ 1, 2 });

Percorra uma tupla

Como o comprimento é conhecido em tempo de compilação, você pode percorrer os campos de uma tupla com um laço inline for.

inline for (row) |field| {
    _ = field;
}

Nomeada ou posicional

Prefira uma estrutura anônima quando os nomes trouxerem clareza, e uma tupla quando bastar um grupo curto e ordenado.

Verificação rápida

Qual é a diferença entre uma tupla e uma estrutura anônima nomeada?

Recapitulação

Você conheceu estruturas anônimas e tuplas: .{ .x = 1 } é inline e nomeada, enquanto .{ 1, 2 } é uma tupla posicional. 📦

Perguntas Frequentes

A aula “Estruturas anônimas e tuplas” é grátis?

Sim — o texto completo de “Estruturas anônimas e tuplas” é 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 “Estruturas anônimas e tuplas”?

Crie valores agrupados sob demanda. 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 “Estruturas anônimas e tuplas”?

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. Declarando estruturas e campos
  2. Métodos e o parâmetro self
  3. Valores padrão dos campos
  4. Estruturas anônimas e tuplas
← Voltar para Zig Academy