0Pricing
Zig Academy · Leçon

Associer ouverture et fermeture

Acquérez et libérez les ressources de manière symétrique.

Associer ouverture et fermeture est une leçon Zig Academy gratuite sur CoddyKit. Ceci est la leçon 4 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.

Toute ouverture nécessite une fermeture

Les ressources vont par paires : open et close, alloc et free, lock et unlock. L’essentiel est de garder chaque paire équilibrée.

Associez-les immédiatement

L’habitude Zig consiste à écrire close immédiatement après open, en utilisant defer, afin que la paire ne puisse jamais se dissocier.

const f = try open();
defer f.close();

Allouer, puis différer free

Le même rythme s’applique à la mémoire. Juste après avoir effectué une allocation, programmez free afin que le tampon soit libéré à la sortie.

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

Les verrous sont déverrouillés

Les mutex suivent le même principe. Acquérez le verrou, puis différez unlock afin qu’il soit toujours libéré, même en cas de retour anticipé.

mutex.lock();
defer mutex.unlock();

Le modèle s’adapte

Ouvrez plusieurs éléments et attribuez à chacun son propre defer. L’ordre inverse garantit qu’ils se ferment automatiquement dans la bonne séquence.

Protéger la valeur de retour

Lorsqu’une fonction construit et renvoie une ressource, utilisez errdefer pour free : la ressource est conservée en cas de réussite, mais nettoyée en cas d’erreur.

const node = try a.create(Node);
errdefer a.destroy(node);

Aucune ressource orpheline

Comme close se trouve avec open, une refactorisation ou l’ajout de branches ne laisse jamais une ressource orpheline et fuyante.

Facile à vérifier

Un réviseur peut rechercher chaque open et repérer immédiatement le defer correspondant. L’absence de nettoyage devient évidente au premier regard.

La symétrie est l’objectif

Voyez cela comme une symétrie : chaque ligne d’acquisition a une ligne de libération à proximité, et defer les maintient parfaitement synchronisées.

Une recette réutilisable

Acquérir, puis différer la libération, puis utiliser. Cette recette en trois étapes couvre les fichiers, la mémoire, les verrous et presque toutes les ressources que vous rencontrerez.

Garder confiance sous pression

Avec une acquisition et une libération associées, vous pouvez ajouter librement des retours anticipés et la gestion des erreurs, en sachant que le nettoyage restera correct.

Vérification rapide

Où doit généralement se trouver le close correspondant ?

Récapitulatif

Associez chaque open à un defer close sur la ligne suivante. Cette symétrie maintient les fichiers, la mémoire et les verrous équilibrés sur tous les chemins. 🔐

Questions Fréquemment Posées

La leçon « Associer ouverture et fermeture » est-elle gratuite ?

Oui — le texte complet de « Associer ouverture et fermeture » 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 « Associer ouverture et fermeture » ?

Acquérez et libérez les ressources de manière symétrique. 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 4 sur 4.

Combien de temps prend la leçon « Associer ouverture et fermeture » ?

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. Ce que defer garantit
  2. Ordre d'exécution de plusieurs defer
  3. defer ou errdefer en pratique
  4. Associer ouverture et fermeture
← Retour à Zig Academy