Declarando estruturas e campos
Agrupe dados relacionados em um tipo.
Declarando estruturas e campos é uma aula grátis de Zig Academy no CoddyKit. Esta é a aula 1 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.
Agrupe dados relacionados
Variáveis soltas ficam desorganizadas rapidamente. Uma estrutura permite reunir valores relacionados em um único tipo nomeado que você pode passar junto.
struct é uma expressão
Em Zig, uma estrutura é criada com a palavra-chave struct e um corpo. Normalmente, você a associa a uma const para dar um nome ao tipo.
const Point = struct {};Adicione alguns campos
Dentro das chaves, liste os campos, cada um com um nome e um tipo. Eles descrevem os dados que todo valor da estrutura contém.
const Point = struct {
x: i32,
y: i32,
};Os campos terminam com uma vírgula
Toda declaração de campo termina com uma vírgula, inclusive a última. Zig é rigoroso nesse ponto, por isso o formatador mantém a consistência.
const Color = struct {
r: u8,
g: u8,
b: u8,
};Crie uma instância
Para criar um valor, escreva o nome do tipo e um inicializador .{}, definindo cada campo pelo nome.
const origin = Point{ .x = 0, .y = 0 };Use um ponto para ler um campo
Acesse um campo colocando um ponto depois do valor. Assim, origin.x lê o campo x desse ponto.
const px = origin.x;Para alterar, é preciso usar var
Para alterar um campo, a instância precisa ser uma var. Uma estrutura const e todos os seus campos permanecem imutáveis.
var p = Point{ .x = 1, .y = 2 };
p.x = 5;Os campos podem ter qualquer tipo
Um campo pode conter qualquer coisa: um bool, uma fatia ou até outra estrutura. Estruturas podem ser aninhadas livremente para modelar formas mais ricas.
const Line = struct {
start: Point,
end: Point,
};Ordem dos campos
Em uma estrutura comum, Zig pode reordenar os campos na memória para compactá-los. Como você nomeia os campos, o layout nunca afeta seu código.
Estruturas são tipos de valor
Atribuir ou passar uma estrutura copia seu valor. O original permanece intacto, a menos que você use deliberadamente um ponteiro.
var a = Point{ .x = 1, .y = 1 };
var b = a; // b is a copyUm tipo, não uma variável
Uma definição de estrutura descreve um tipo, como uma planta. As instâncias são os valores reais que você cria a partir dessa planta.
Verificação rápida
Como você cria um valor a partir de um tipo de estrutura?
Recapitulação
Você conheceu as estruturas: a palavra-chave struct agrupa campos nomeados em um tipo, e Type{ .field = value } cria uma instância. 🧱
Perguntas Frequentes
A aula “Declarando estruturas e campos” é grátis?
Sim — o texto completo de “Declarando estruturas e campos” é 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 “Declarando estruturas e campos”?
Agrupe dados relacionados em um tipo. 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 1 de 4.
Quanto tempo leva a aula “Declarando estruturas e campos”?
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
- Declarando estruturas e campos
- Métodos e o parâmetro self
- Valores padrão dos campos
- Estruturas anônimas e tuplas