0Pricing
Go Academy · Leçon

break, continue et étiquettes

Contrôle du flux des boucles et interruptions étiquetées

break, continue et étiquettes est une leçon Go 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 Go Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Go Academy comprend 4 leçons au total.

Fondamentaux du contrôle des boucles

Go fournit trois mots-clés pour contrôler l’exécution des boucles :

  • break — quitte la boucle ou le switch courant
  • continue — passe à l’itération suivante
  • goto — saute à une instruction étiquetée, ce qui est rare

Les étiquettes permettent à break et continue de fonctionner avec les boucles externes.

break dans une boucle

break quitte immédiatement l’instruction for, switch ou select la plus interne :

for i := 0; i < 100; i++ {
    if i*i > 50 {
        break
    }
    fmt.Println(i)
}

continue

continue ignore le reste du corps de la boucle courante et passe à l’instruction postérieure, ou à la vérification de la condition :

for i := 0; i < 10; i++ {
    if i%2 == 0 {
        continue // skip even numbers
    }
    fmt.Println(i) // prints 1,3,5,7,9
}

break étiqueté

Une étiquette placée avant une boucle for vous permet d’en sortir depuis une boucle interne :

search:
for i, row := range grid {
    for j, cell := range row {
        if cell == target {
            fmt.Printf("found at %d,%d\n", i, j)
            break search
        }
    }
}

continue étiqueté

Un continue étiqueté passe à l’itération suivante de la boucle externe étiquetée :

outer:
for i := 0; i < 3; i++ {
    for j := 0; j < 3; j++ {
        if j == 1 {
            continue outer
        }
        fmt.Printf("%d,%d\n", i, j)
    }
}

Quand utiliser des étiquettes

Les étiquettes sont appropriées lorsque :

  • Vous devez sortir d’une boucle imbriquée depuis un niveau profondément interne
  • Extraire une fonction serait trop verbeux

Les étiquettes sont peu courantes dans Go : si vous devez souvent y recourir, envisagez de remanier le code avec des fonctions ou des canaux.

goto (rare)

Go possède goto pour sauter à une instruction étiquetée. Son utilisation est autorisée dans une même fonction, mais il ne peut pas sauter par-dessus des déclarations de variables :

  • Cas d’utilisation : code généré, boucles serrées de gestion des erreurs
  • Évitez-le dans le code écrit manuellement : préférez un contrôle du flux structuré

break dans select

Dans une instruction select, break quitte le select, et non une boucle for externe. Utilisez un break étiqueté pour quitter la boucle externe :

loop:
for {
    select {
    case msg := <-ch:
        handle(msg)
    case <-done:
        break loop
    }
}

Éviter l’imbrication profonde

Les boucles profondément imbriquées sont difficiles à lire. Avant d’ajouter un break étiqueté, demandez-vous :

  • Puis-je extraire la boucle interne dans une fonction auxiliaire ?
  • Puis-je utiliser un canal ou une tranche pour simplifier l’itération ?
  • Des retours anticipés peuvent-ils réduire l’imbrication au niveau externe ?

Schéma pratique&nbsp;: rechercher avec break

Un schéma courant consiste à rechercher un élément dans une collection et à utiliser break lorsqu’il est trouvé :

func contains(slice []string, target string) bool {
    for _, v := range slice {
        if v == target {
            return true // prefer return over break+flag
        }
    }
    return false
}

Vérification rapide

Comment quitter une boucle externe depuis une boucle interne dans Go ?

Récapitulatif&nbsp;: break, continue et étiquettes

Contrôlez efficacement le flux des boucles dans Go :

  • break quitte la boucle ou le switch courant
  • continue passe à l’itération suivante
  • Les étiquettes permettent à break/continue de cibler une boucle externe
  • goto existe, mais est rarement utilisé dans un Go idiomatique
  • Dans select, utilisez un break étiqueté pour quitter une boucle for externe

Prochain cours : fonctions et valeurs de retour multiples.

Questions Fréquemment Posées

La leçon « break, continue et étiquettes » est-elle gratuite ?

Oui — le texte complet de « break, continue et étiquettes » 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 Go Academy, passe à CoddyKit PRO. Le cours Go Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « break, continue et étiquettes » ?

Contrôle du flux des boucles et interruptions étiquetées Tu pratiques Go 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 Go Academy ?

Aucune expérience préalable n'est requise. Go 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 « break, continue et étiquettes » ?

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 Go Academy ?

Oui. Chaque leçon Go 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. Instructions if et expressions d’initialisation
  2. La boucle for : tous les modèles
  3. Instructions switch en Go
  4. break, continue et étiquettes
← Retour à Go Academy