Funções pub e visibilidade
Exponha funções entre arquivos.
Funções pub e visibilidade é 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.
Os Arquivos São Módulos
Em Zig, cada arquivo de código-fonte é seu próprio módulo. O que ele compartilha com outros arquivos é controlado pelas regras de visibilidade. 📦
Privado por Padrão
Uma função comum é privada em seu arquivo. Outros arquivos não podem chamá-la, mantendo os auxiliares internos protegidos.
fn helper() void {
// only this file can call me
}pub Torna Público
Adicione a palavra-chave pub para expor uma função, permitindo que outros arquivos a importem e chamem em todo o projeto.
pub fn greet() void {
std.debug.print("Hi!\n", .{});
}Importar Traz o Módulo
Outro arquivo usa @import para carregar seu módulo e, em seguida, acessa os nomes públicos por meio do valor retornado.
const utils = @import("utils.zig");
utils.greet();Somente Nomes pub Podem ser Acessados
Por meio dessa importação, você só pode chamar os nomes públicos. As funções privadas permanecem invisíveis e não podem ser usadas de forma indevida.
Por que main Precisa de pub
Por isso main é declarado como pub: o ambiente de execução fica fora do seu arquivo e precisa conseguir acessar o ponto de entrada.
pub Funciona com Mais do que fn
A palavra-chave pub também expõe constantes, tipos e variáveis, permitindo publicar uma interface pública organizada para um módulo.
pub const version = "1.0.0";Projete uma API Pequena
Marque como público somente aquilo de que os chamadores realmente precisam. Manter os auxiliares privados oferece uma interface pequena e estável para manter.
O Encapsulamento Reduz Erros
Ocultar os detalhes internos é encapsulamento. Com menos partes expostas, você pode alterar detalhes da implementação sem quebrar outros arquivos.
Nenhum Arquivo de Cabeçalho é Necessário
Ao contrário de C, Zig não precisa de arquivos de cabeçalho. Importar um arquivo fornece diretamente suas declarações públicas, sem duplicação.
A Visibilidade é Verificada em Tempo de Compilação
Zig impõe a visibilidade em tempo de compilação. Chamar uma função privada de fora de seu arquivo simplesmente faz a compilação falhar.
Verificação Rápida
Você escreveu uma função em math.zig e outro arquivo não consegue chamá-la. O que provavelmente está faltando?
Recapitulação
As funções são privadas em seu arquivo até que você adicione pub. Exponha somente o que os chamadores precisam, importe com @import e dispense completamente os arquivos de cabeçalho. 🎯
Perguntas Frequentes
A aula “Funções pub e visibilidade” é grátis?
Sim — o texto completo de “Funções pub e visibilidade” é 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 “Funções pub e visibilidade”?
Exponha funções entre arquivos. 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 “Funções pub e visibilidade”?
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
- Sintaxe de funções e tipos de retorno
- Passagem de valores versus referências
- Funções pub e visibilidade
- Recursão e vários retornos