0Pricing
Zig Academy · Aula

Tipos são valores comptime

Trate um tipo como qualquer outro valor.

Tipos são valores comptime é 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.

Um tipo é apenas um valor

Em Zig, um tipo não é uma sintaxe mágica: é um valor comum que você pode armazenar, passar e retornar. Ele simplesmente existe apenas durante a compilação. 🧠

O tipo de um tipo é type

Todo tipo tem o tipo type. Portanto, u8 é um valor cujo tipo é type, assim como 5 é um valor cujo tipo é um inteiro.

const T: type = u8;

Associe um tipo a uma const

Você pode dar nome a um tipo usando uma constante. Aqui, Number se torna outro nome para i32, que pode ser usado sempre que um tipo for esperado.

const Number = i32;
const x: Number = 7;

Passe um tipo para uma função

Uma função pode receber um tipo como parâmetro comptime. O argumento é um valor real, avaliado enquanto o programa é compilado.

fn sizeOf(comptime T: type) usize {
    return @sizeOf(T);
}

Retorne um tipo de uma função

Como tipos são valores, uma função pode retornar um. Seu tipo de retorno é simplesmente type, e o corpo produz um tipo como resultado.

fn Pair() type {
    return struct { a: u8, b: u8 };
}

É assim que os genéricos funcionam

Passar e retornar tipos é a base dos genéricos de Zig. Não existe uma sintaxe genérica especial, apenas valores de tipo circulando.

Os tipos existem apenas no tempo de compilação

Um valor do tipo type existe apenas durante a compilação. Você não pode armazenar um tipo em uma variável do tempo de execução nem ler um da entrada.

Inspecione um tipo com funções integradas

Os recursos integrados tratam um tipo como dado. @sizeOf recebe um valor de tipo e retorna quantos bytes uma instância dele ocupa.

const bytes = @sizeOf(u32);

Comparar tipos quanto à igualdade

Como os tipos são valores, você pode compará-los em tempo de compilação. A expressão T == u8 é verdadeira somente quando T é exatamente u8.

Escolher um tipo em tempo de compilação

Você pode ramificar com base em um tipo e escolher outro, tudo durante a compilação. Isso permite que uma função adapte seu comportamento ao tipo que recebe.

Nomear um tipo a partir do resultado de uma função

Como uma função pode retornar um tipo, você pode associar esse resultado a uma constante e usá-lo como usaria qualquer nome de tipo integrado.

const Point = Pair();
const p: Point = .{ .a = 1, .b = 2 };

Verificação rápida

Em Zig, qual é o tipo do próprio tipo u8?

Recapitulação

Em Zig, os tipos são valores comptime do tipo type. Você pode nomeá-los, passá-los, retorná-los e compará-los — exatamente assim que os genéricos são construídos. 🎯

Perguntas Frequentes

A aula “Tipos são valores comptime” é grátis?

Sim — o texto completo de “Tipos são valores comptime” é 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 “Tipos são valores comptime”?

Trate um tipo como qualquer outro valor. 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 “Tipos são valores comptime”?

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. Tempo de compilação versus tempo de execução
  2. Parâmetros e valores comptime
  3. Tipos são valores comptime
  4. for inline e laços desenrolados
← Voltar para Zig Academy