Zig Academy · Leçon

Aucun flux de contrôle caché, aucune allocation cachée

Découvrez les promesses de conception qui définissent Zig.

Leçon 3 sur 413 étapes

Aucun flux de contrôle caché, aucune allocation cachée 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.

Deux promesses célèbres

Zig est connu pour deux règles : aucun flux de contrôle caché et aucune allocation cachée. Ensemble, elles rendent le code facile à lire et digne de confiance.

Ce que signifie le flux de contrôle

Le flux de contrôle est l'ordre dans lequel votre code s'exécute. Il est caché lorsque des appels se produisent sans que vous puissiez les voir dans le code, ce qui peut vous surprendre plus tard.

Aucun appel de fonction inattendu

Zig n'a ni surcharge d'opérateurs ni destructeurs cachés. Si une fonction s'exécute, vous pouvez voir son appel directement dans le code source.

L'échec est visible

Aucune exception ne traverse votre programme à votre insu. Pour ignorer ou transmettre un échec, vous écrivez try ou catch ; les chemins d'erreur sont donc explicites.

const data = try readFile(path);

Ce que signifie l'allocation

Une allocation réserve de la mémoire pour vos données pendant l'exécution d'un programme. Les allocations cachées sont effectuées silencieusement par le langage, derrière un simple appel.

Les allocateurs sont transmis

Dans Zig, le code qui a besoin de mémoire du tas reçoit un allocateur comme paramètre. Si une fonction peut allouer, sa signature le dit clairement.

fn loadConfig(allocator: std.mem.Allocator) !Config {
    // ...
}

Vous choisissez la stratégie

Puisque vous transmettez l'allocateur, vous décidez d'où vient la mémoire : d'un allocateur qui vérifie le débogage, d'une arène ou d'un tampon de pile de taille fixe.

Pourquoi cela vous aide

Les allocations visibles rendent le coût mémoire évident, ce qui est précieux pour régler la performance et pour les systèmes embarqués qui n'ont pas de tas du tout.

Lire vaut mieux que deviner

Ces règles vous permettent de comprendre le code en le lisant, plutôt qu'en mémorisant des mécanismes cachés. Ce que vous voyez est ce qui s'exécute.

defer clarifie le nettoyage

Le nettoyage est lui aussi explicite. Une instruction defer programme l'exécution d'un code à la fin de la portée, de sorte que la libération de la mémoire se trouve juste à côté de l'allocation.

const buf = try allocator.alloc(u8, 64);
defer allocator.free(buf);

Compromis : davantage de saisie

Le coût honnête est de devoir effectuer un peu plus de saisie : vous faites circuler les allocateurs dans votre code. En échange, vous obtenez une clarté et un contrôle totaux.

Vérification rapide

Comment savoir qu'une fonction Zig peut allouer de la mémoire ?

Récapitulatif

L'absence de flux de contrôle caché et d'allocations cachées signifie que les échecs et la mémoire sont toujours visibles. Vous lisez le code et savez exactement ce qui se passe. ✨

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 « Aucun flux de contrôle caché, aucune allocation cachée » est-elle gratuite ?

Oui — le texte complet de « Aucun flux de contrôle caché, aucune allocation cachée » 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 « Aucun flux de contrôle caché, aucune allocation cachée » ?

Découvrez les promesses de conception qui définissent Zig. 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 « Aucun flux de contrôle caché, aucune allocation cachée » ?

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. Quel problème Zig résout-il ?
  2. Zig face à C, Rust et Go
  3. Aucun flux de contrôle caché, aucune allocation cachée
  4. Ce que vous pouvez créer avec Zig
← Retour à Zig Academy