Zig Academy · Leçon

Fonctions pub et visibilité

Rendez les fonctions accessibles entre plusieurs fichiers.

Leçon 3 sur 413 étapes

Fonctions pub et visibilité est une leçon Zig Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Zig Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Zig Academy comprend 4 leçons au total.

Les fichiers sont des modules

Dans Zig, chaque fichier source est son propre module. Ce qu’il partage avec les autres fichiers dépend des règles de visibilité. 📦

Privé par défaut

Une fonction ordinaire est privée dans son fichier. Les autres fichiers ne peuvent pas l’appeler, ce qui protège les fonctions utilitaires internes.

fn helper() void {
    // only this file can call me
}

pub la rend publique

Ajoutez le mot-clé pub pour exposer une fonction afin que les autres fichiers puissent l’importer et l’appeler dans votre projet.

pub fn greet() void {
    std.debug.print("Hi!\n", .{});
}

L’importation l’intègre

Un autre fichier utilise @import pour charger votre module, puis accède aux noms publics par l’intermédiaire de la valeur renvoyée.

const utils = @import("utils.zig");
utils.greet();

Seuls les noms pub sont accessibles

Grâce à cette importation, vous ne pouvez appeler que les noms publics. Les fonctions privées restent invisibles et ne peuvent donc pas être utilisées à mauvais escient.

Pourquoi main a besoin de pub

C’est pourquoi main est déclarée pub : l’environnement d’exécution se trouve à l’extérieur de votre fichier et doit pouvoir atteindre le point d’entrée.

pub fonctionne avec autre chose que fn

Le mot-clé pub expose également les constantes, les types et les variables, ce qui vous permet de définir une interface publique claire pour un module.

pub const version = "1.0.0";

Concevoir une petite API

Déclarez public uniquement ce dont les appelants ont réellement besoin. Garder les fonctions utilitaires privées vous donne une petite interface stable à maintenir.

L’encapsulation réduit les erreurs

Masquer les détails internes, c’est l’encapsulation. Avec moins d’éléments exposés, vous pouvez modifier l’implémentation sans perturber les autres fichiers.

Aucun fichier d’en-tête nécessaire

Contrairement au C, Zig n’a pas besoin de fichiers d’en-tête. Importer un fichier vous donne directement accès à ses déclarations publiques, sans duplication.

La visibilité est vérifiée à la compilation

Zig applique la visibilité lors de la compilation. Appeler une fonction privée depuis l’extérieur de son fichier échoue simplement à la compilation.

Vérification rapide

Vous avez écrit une fonction dans math.zig, mais un autre fichier ne peut pas l’appeler. Qu’est-ce qui manque probablement ?

Récapitulatif

Les fonctions sont privées dans leur fichier jusqu’à l’ajout de pub. Exposez uniquement ce dont les appelants ont besoin, importez avec @import et ignorez complètement les fichiers d’en-tête. 🎯

Gratuit pour commencer

Apprends Zig avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Fonctions pub et visibilité » est-elle gratuite ?

Oui — le texte complet de « Fonctions pub et visibilité » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Zig Academy, passe à CoddyKit PRO. Le cours Zig Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Fonctions pub et visibilité » ?

Rendez les fonctions accessibles entre plusieurs fichiers. Tu pratiques Zig Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Zig Academy ?

Aucune expérience préalable n'est requise. Zig Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Fonctions pub et visibilité » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Zig Academy ?

Oui. Chaque leçon Zig Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Syntaxe des fonctions et types de retour
  2. Passage de valeurs ou de références
  3. Fonctions pub et visibilité
  4. Récursivité et retours multiples
← Retour à Zig Academy