Boucles en Go

Introduction aux boucles en Go

Dans le langage de programmation Go, il existe plusieurs types de boucles structurées de manière similaire à la déclaration de boucle for d'autres langages tels que C ou Java.

Boucle à trois composantes

La définition d'une boucle en Go suit une syntaxe à trois composants. Cela ressemble à ce qu’on trouve dans de nombreux langages de programmation.

Syntaxe

for init; condition; post {
  statements
}

Dans cet exemple, l'initialisation se fait via l'instruction init, qui déclare une variable d'index. Ensuite, une condition vérifie cette variable d'index à chaque itération. Tant que cette condition est vraie, les instructions à l'intérieur de la boucle s'exécutent. Enfin, l'instruction post s'exécute à la fin de chaque boucle, généralement pour incrémenter ou décrémenter la variable d'index.

Exemple

for i := 10; i > 0; i-- {
  fmt.Println(i) // Compte à rebours de 10 à 1
}

La boucle While

Une boucle "while" fonctionne tant que la condition est vraie. Dans certains langages, on utilise le mot-clé while, mais en Go, cette fonctionnalité est réalisée avec un for en omettant les instructions 'init' et 'post'.

Syntaxe

for condition {
  statements
}

Cette boucle s’exécute tant que la condition reste vraie.

Exemple

countdown := 10
for countdown > 0 {
  fmt.Println(countdown) // compte à rebours de 10 à 1
  countdown--
}

Boucle infinie

Si on omet les conditions et les déclarations init/post, la boucle s'exécute indéfiniment, à moins qu'une instruction break n'intervienne.

Syntaxe

for {
  statements
}

Exemple

for {
  fmt.Println("Aidez-moi ! Je suis coincé dans une boucle !") // exécute indéfiniment
}

Boucle avec range

Il est possible d’utiliser le mot-clé range pour parcourir les éléments d'une collection comme un tableau, une map, un slice, un canal ou une chaîne.

Syntaxe

for index, value := range collection {
  statements
}

Ici, index contiendra l'index, value contiendra la valeur actuelle de la collection en cours d'itération, et collection désigne l'ensemble sur lequel on itère.

Exemple

numbers := []string{"Un", "Deux", "Trois"}
for i, n := range numbers {
  fmt.Println(i, n) // affiche l'index et la valeur
}

Ce code produit l'affichage suivant :

0 Un
1 Deux
2 Trois

Instructions break et continue

Les instructions break et continue fonctionnent en Go comme dans d'autres langages comme C et Java.

  • break : cette instruction met fin à l'exécution d'une boucle et passe à l'instruction suivante après celle-ci.
  • continue : cette instruction permet de sauter directement à l'itération suivante de la boucle.

Conclusion

Les boucles constituent un aspect fondamental de Go, permettant d'exécuter des instructions de manière répétitive tant que certaines conditions sont satisfaites. Maîtriser les boucles est essentiel pour le développement d'applications efficaces.

Application pour la création de sites web et de startups

Les boucles sont un concept crucial lors de la création de sites web et d'applications. Par exemple, si vous construisez un tableau des utilisateurs pour une application web, vous pouvez utiliser une boucle pour parcourir tous les utilisateurs d'une base de données et les afficher sur la page. Cela vous permet de rendre votre site dynamique et interactif. De même, lors du traitement de données (comme dans une startup), des boucles peuvent faciliter l'analyse de grands ensembles de données.