- Auteur

- Nom
- Nelson Silva
- Social
Introduction
La boucle for est l'une des structures de contrôle les plus fondamentales dans tout langage de programmation. En Go, elle offre une flexibilité et une puissance qui s'adaptent à une grande variété de situations.
Composantes de Base de la Boucle for
La boucle for en Go peut se présenter sous trois variations principales :
- Basée sur un Compteur : Comme dans beaucoup d'autres langages, il est possible de définir une initialisation, une condition et un post-traitement.
- Basée sur une Condition : Ici, seule une condition est spécifiée. Semblable à un
whiledans d'autres langages. - Range : Cette variation permet d'itérer sur des slices, des arrays et d'autres types de données itérables.
Exemples
// Basée sur un Compteur
for i := 0; i < 10; i++ {
fmt.Println(i)
}
// Basée sur une Condition
j := 0
for j < 10 {
fmt.Println(j)
j++
}
// Range
fruits := []string{"Pomme", "Banane", "Cerise"}
for indice, fruit := range fruits {
fmt.Printf("fruits[%d]: %s\n", indice, fruit)
}
Attention aux Boucles Infinies
Comme mentionné, il est vital d'être conscient de la possibilité de créer des boucles infinies. Vérifiez toujours les conditions de votre boucle et assurez-vous qu'il existe une sortie.
// Un exemple de boucle infinie. N'exécutez pas ce code !
/*
for {
fmt.Println("Ceci est une boucle infinie !")
}
*/
Variations Avancées
Il est possible de combiner les variations de la boucle for de manière créative pour répondre à différents besoins. Par exemple, on peut utiliser une variation basée sur une condition pour parcourir des slices en fonction d'une logique métier spécifique.
fruits := []string{"Pomme", "Banane", "Cerise"}
indice := 0
for indice < len(fruits) {
fmt.Println(fruits[indice])
indice += 2 // Sauter tous les deux fruits
}
Conclusion
La boucle for est un outil polyvalent et essentiel dans l'arsenal de tout programmeur Go. Que vous effectuiez des tâches simples ou que vous implémentiez des algorithmes complexes, la capacité à contrôler le flux d'exécution est inestimable.