Go - Les boucles : Maîtriser la répétition dans la programmation
Bonjour, futurs programmeurs ! Aujourd'hui, nous allons plonger dans l'un des concepts les plus fondamentaux de la programmation : les boucles. En tant que votre professeur de science informatique de quartier, je suis excité de vous guider à travers le fascinant monde des boucles Go. Faites-moi confiance, à la fin de ce tutoriel, vous serez des pros de la boucle !
Qu'est-ce que les boucles ?
Avant de rentrer dans les détails, comprendre ce que sont les boucles. Imaginez que vous êtes chargé d'écrire "J'aime la programmation" 100 fois. fastidieux, n'est-ce pas ? C'est là que les boucles deviennent utiles ! Elles nous permettent de répéter un ensemble d'instructions plusieurs fois sans avoir à écrire le même code encore et encore.
Types de boucles en Go
Go propose trois types principaux de boucles :
- Boucle
for
- Boucle
while
(implémentée à l'aide defor
) - Boucle basée sur
range
Explorons chacun de ces types en détail.
1. La boucle for
classique
La boucle for
est le type de boucle le plus commun en Go. C'est comme le couteau suisse des boucles - polyvalent et puissant.
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.Println("Itération :", i)
}
}
Dans cet exemple :
-
i := 0
initialise la variable de boucle -
i < 5
est la condition vérifiée avant chaque itération -
i++
est exécuté après chaque itération
Sortie :
Itération : 0
Itération : 1
Itération : 2
Itération : 3
Itération : 4
2. La boucle while
(style Go)
Go n'a pas de mot-clé while
, mais nous pouvons utiliser la boucle for
pour obtenir le même résultat. C'est comme porte un t-shirt smoking - formellement une boucle for
, mais fonctionnellement une boucle while
!
package main
import "fmt"
func main() {
count := 0
for count < 3 {
fmt.Println("Le compteur est :", count)
count++
}
}
Ici, la boucle continue tant que count < 3
est vrai.
Sortie :
Le compteur est : 0
Le compteur est : 1
Le compteur est : 2
3. La boucle basée sur range
C'est mon préféré - c'est comme avoir un GPS pour vos structures de données. C'est parfait pour itérer sur des tableaux, des tranches, des maps, et plus encore.
package main
import "fmt"
func main() {
fruits := []string{"pomme", "banane", "cerise"}
for index, fruit := range fruits {
fmt.Printf("Le fruit à l'index %d est %s\n", index, fruit)
}
}
Cette boucle itère automatiquement sur la tranche fruits
, nous donnant à la fois l'index et la valeur à chaque itération.
Sortie :
Le fruit à l'index 0 est pomme
Le fruit à l'index 1 est banane
Le fruit à l'index 2 est cerise
Instructions de contrôle des boucles
Maintenant que nous avons les bases, ajoutons un peu d'épice à nos boucles avec des instructions de contrôle. Ce sont comme les DJs du monde de la programmation - ils contrôlent le flux de notre fête boucle !
Instruction break
L'instruction break
est comme appuyer sur le bouton d'arrêt d'urgence. Elle termine immédiatement la boucle.
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 5 {
fmt.Println("On atteint 5 ! Il est temps de s'arrêter !")
break
}
fmt.Println("Nombre actuel :", i)
}
}
Cette boucle s'arrêtera dès que i
atteint 5.
Sortie :
Nombre actuel : 0
Nombre actuel : 1
Nombre actuel : 2
Nombre actuel : 3
Nombre actuel : 4
On atteint 5 ! Il est temps de s'arrêter !
Instruction continue
L'instruction continue
est comme sauter une chanson que vous n'aimez pas. Elle passe à l'itération suivante de la boucle.
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
if i == 2 {
fmt.Println("On saute 2 !")
continue
}
fmt.Println("Nombre actuel :", i)
}
}
Cette boucle ignorera l'affichage lorsque i
est 2.
Sortie :
Nombre actuel : 0
Nombre actuel : 1
On saute 2 !
Nombre actuel : 3
Nombre actuel : 4
La boucle infinie
Pour terminer, parlons de la boucle infinie, fameuse. C'est comme cette une chanson qui ne s'arrête jamais - elle continue et continue sauf si vous lui dites d'arrêter.
package main
import (
"fmt"
"time"
)
func main() {
count := 0
for {
fmt.Println("Ceci est l'itération :", count)
count++
time.Sleep(time.Second)
if count == 5 {
fmt.Println("Bon, c'est assez !")
break
}
}
}
Cette boucle continuera pour toujours, sauf si nous en sortons. Dans ce cas, nous sortons après 5 itérations.
Sortie :
Ceci est l'itération : 0
Ceci est l'itération : 1
Ceci est l'itération : 2
Ceci est l'itération : 3
Ceci est l'itération : 4
Bon, c'est assez !
Table des méthodes de boucle
Voici un tableau pratique résumant les méthodes de boucle que nous avons couvertes :
Méthode | Description | Exemple |
---|---|---|
Boucle For
|
Boucle standard avec initialisation, condition et post-instruction | for i := 0; i < 5; i++ { ... } |
Boucle While-style For
|
Boucle qui s'exécute tant qu'une condition est vraie | for count < 3 { ... } |
Boucle basée sur Range
|
Boucle pour itérer sur des tableaux, des tranches, des maps, etc. | for index, value := range collection { ... } |
Boucle infinie | Boucle qui s'exécute indéfiniment sauf si interrompue | for { ... } |
Et voilà, les amis ! Vous avez fait vos premiers pas dans le monde loopy de la programmation Go. Souvenez-vous, la pratique rend parfait, donc n'ayez pas peur d'expérimenter avec ces concepts. Bon codage, et puissent vos boucles toujours s'arrêter lorsque vous le souhaitez !
Credits: Image by storyset