Découper avec array[start..end]
Créez des sous-vues sans effectuer de copie.
Découper avec array[start..end] 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.
Extraire une vue
Vous ne voulez parfois qu'une partie d'un tableau. Le découpage permet d'obtenir une sous-plage sous forme de nouveau slice, sans copier le moindre élément. ✂️
La syntaxe des plages
Écrivez le début et la fin entre crochets, en les reliant par deux points : array[start..end]. Cela produit un slice couvrant ces positions.
const part = data[1..3];La fin est exclusive
L'indice de fin est exclusif : array[1..3] inclut donc les positions 1 et 2, mais s'arrête avant 3. Le résultat a une longueur de 2.
Découper jusqu'à la fin
Omettez la fin pour aller jusqu'au dernier élément. data[2..] signifie tout ce qui se trouve à partir de l'indice 2.
const tail = data[2..];Découper l'ensemble
Utiliser [0..] transforme un tableau entier en slice. C'est la manière courante de transmettre un tableau complet à du code qui accepte un slice.
const all = data[0..];Aucune copie n'est effectuée
Le découpage calcule uniquement un nouveau pointeur et une nouvelle longueur. Les éléments restent partagés avec le tableau d'origine : l'opération est donc rapide et n'effectue aucune allocation.
Découper un slice
Vous pouvez découper un slice comme un tableau. La nouvelle plage est relative au début du slice lui-même, ce qui affine encore la vue.
const inner = part[0..1];Les indices hors limites sont détectés
Si le début ou la fin se trouve en dehors des données, les compilations sûres déclenchent une panique à l'exécution. Cela vous empêche de lire une mémoire qui ne vous appartenait pas.
Slices à la compilation
Lorsque les limites sont connues à la compilation, le résultat peut être un pointeur vers un tableau dont la longueur fixe est intégrée au type.
Slices terminés par un sentinelle
Ajoutez un terminateur avec [start..end :0] pour garantir un zéro final. C'est pratique lorsque vous transmettez des chaînes à du code C.
const cstr = buf[0..n :0];Longueur issue de la plage
La longueur d'un slice est simplement end moins start. Ainsi, data[2..5] produit toujours un slice dont len vaut exactement 3.
const three = data[2..5]; // len == 3Vérification rapide
Vous avez const data = [_]i32{ 0, 1, 2, 3, 4 }. Quelle est la longueur de data[1..4] ?
Récapitulatif
La syntaxe array[start..end] extrait une sous-vue : la fin est exclusive, vous pouvez l'omettre pour obtenir la fin, rien n'est copié et les limites restent vérifiées. 🎯
Questions Fréquemment Posées
La leçon « Découper avec array[start..end] » est-elle gratuite ?
Oui — le texte complet de « Découper avec array[start..end] » 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 « Découper avec array[start..end] » ?
Créez des sous-vues sans effectuer de copie. 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 « Découper avec array[start..end] » ?
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
- Tableaux de taille fixe
- Tranches : un pointeur et une longueur
- Découper avec array[start..end]
- Parcourir et modifier des tranches