0Pricing
Zig Academy · Aula

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

  1. Sintaxe de funções e tipos de retorno
  2. Passagem de valores versus referências
  3. Funções pub e visibilidade
  4. Recursão e vários retornos
← Voltar para Zig Academy