cybercursus

Les boucles

12 min · Débutant · 3 octobre 2026

Sommaire
  1. La boucle for classique
  2. for comme équivalent d’un while
  3. La boucle infinie
  4. Parcourir avec for…range
  5. À toi de jouer

La boucle for classique

go
for i := 0; i < 5; i++ {
  fmt.Println(i) // 0, 1, 2, 3, 4
}

for comme équivalent d’un while

go
energie := 100
tours := 0

for energie > 0 {
  energie -= 30
  tours++
}

fmt.Println(tours) // 4

Avec une seule condition (sans initialisation ni incrémentation explicites), for se comporte exactement comme un while d’un autre langage.

La boucle infinie

go
compteur := 0
for {
  compteur++
  if compteur >= 3 {
      break // sort de la boucle
  }
}
fmt.Println(compteur) // 3

for sans aucune condition répète indéfiniment, jusqu’à rencontrer un break explicite.

Attention

Une boucle for infinie sans jamais de break (ni de condition d’arrêt atteinte) tourne pour toujours et fige le programme.

Parcourir avec for…range

go
fruits := []string{"pomme", "banane", "cerise"}

for i, fruit := range fruits {
  fmt.Println(i, fruit)
}
// 0 pomme
// 1 banane
// 2 cerise

// Si l'index n'est pas utile :
for _, fruit := range fruits {
  fmt.Println(fruit)
}

Le tiret bas _ ignore explicitement une valeur qu’on ne compte pas utiliser, ici l’index.

À toi de jouer

go
total := 0
for i := 1; i <= 5; i++ {
  if i%2 == 0 {
      total += i
  }
}
fmt.Println(total)
Que produit ce code à l'exécution ?
Pourquoi Go ne propose-t-il qu'un seul mot-clé de boucle, for, là où d'autres langages distinguent for et while ?
Que fait `for i, v := range notes { ... }` pour parcourir un slice notes ?

Pour aller plus loin

Commentaires

Recherche