Boucle For - Condition uniquement
Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 46 sur 109.
Apprenons-en davantage sur la boucle for avec condition uniquement en Go. Ce type de boucle fonctionne comme une boucle while dans d'autres langages, en utilisant simplement une condition sans instructions d'initialisation ou de post-exécution.
Tout d'abord, créons un programme de compteur simple qui compte de 1 à 3 :
i := 1
for i <= 3 {
fmt.Println(i)
i++
}Après l'exécution de ce code, les nombres 1, 2 et 3 s'afficheront à l'écran l'un après l'autre :
1
2
3La boucle fonctionne en vérifiant si i est inférieur ou égal à 3 avant chaque itération. À l'intérieur de la boucle, nous affichons la valeur actuelle de i puis nous l'augmentons de 1 avec i++. La boucle continue de s'exécuter tant que la condition i <= 3 reste vraie, et s'arrête quand i devient 4.
Contrairement à la boucle for standard, nous devons incrémenter manuellement notre variable de compteur à l'intérieur du corps de la boucle, sinon nous créerions une boucle infinie.
Défi
DébutantDans ce défi, vous allez vous entraîner à utiliser une boucle for avec seulement une condition (pas d'initialisation ni d'instruction post). C'est similaire à une boucle while dans d'autres langages.
Nous avons fourni une variable booléenne keepRunning définie sur true et une variable compteur count définie sur 0. Votre tâche consiste à compléter la boucle for qui affichera les nombres de 0 à 4, puis s'arrêtera.
À l'intérieur de la boucle, nous incrémentons count et vérifions s'il atteint 5. Quand c'est le cas, nous définissons keepRunning sur false pour quitter la boucle.
Aide-mémoire
La boucle for avec condition seule en Go fonctionne comme une boucle while, en utilisant uniquement une condition sans instructions d'initialisation ou de post-exécution :
i := 1
for i <= 3 {
fmt.Println(i)
i++
}La boucle vérifie la condition avant chaque itération et continue tant qu'elle reste vraie. Vous devez incrémenter manuellement la variable de compteur à l'intérieur du corps de la boucle pour éviter les boucles infinies.
Essayez vous-même
package main
import "fmt"
func main() {
// Ces variables sont déjà configurées pour vous
keepRunning := true
count := 0
// TODO: Complétez la boucle for qui utilise uniquement une condition (comme une boucle while)
// La boucle doit continuer tant que keepRunning est vrai
for {
// Affiche le compteur actuel
fmt.Println(count)
// Incrémente le compteur
count++
// Vérifie si le compteur est égal à 5, et si c'est le cas, définit keepRunning à faux
if count >= 5 {
keepRunning = false
}
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs de comparaison et logiques
Opérateurs de comparaison - Partie 1Opérateurs de comparaison - Partie 2Opérateur logique ANDOpérateur logique OROpérateur logique NOTBases de la priorité des opérateursRécapitulatif - Effectuer des comparaisons7Structures de contrôle : Les boucles
Explication de la boucle `for`Boucle For - Les basesBoucle For - Condition uniquementLe mot-clé `break`Le mot-clé `continue`Boucles imbriquéesRécapitulatif - Répéter des actions2Variables et types de données de base
Qu'est-ce qu'une variableInférence de type avec `:=` Entiers (int)Nombres à virgule flottanteBooléensChaînes de caractères (Strings)Valeurs zéroConstantesConventions de nommageRécapitulatif - Variables et types5Entrées/Sorties de base
Sortie formatéeVerbes de formatageAffichage des typesSaisie utilisateur de baseRécapitulatif - Entrées et Sorties8Fonctions
Comprendre les fonctionsDéclarer une fonctionAppeler des fonctionsParamètres de fonctionRetourner une valeur uniqueRetourner plusieurs valeursValeurs de retour nomméesBases de la portée des fonctionsRécapitulatif - Créer du code réutilisable11Types composites : Slices
Introduction aux SlicesDéclaration de littéraux de SlicesCréation de Slices avec `make`Longueur vs Capacité des SlicesAccès aux éléments d'un SliceAjout d'élémentsDécoupage de Slices/Tableaux existantsItération sur les SlicesCopie de SlicesRécapitulatif - Listes dynamiques3Opérateurs de base
Opérateurs arithmétiquesOpérateur de divisionL'opérateur moduloOpérateur d'affectationOpérateurs d'affectation augmentéeIncrémentation et décrémentationRécapitulatif - Calculs6Structure de contrôle : Les conditionnelles
L'instruction `if`Le mot-clé `else`Le mot-clé `else if`Masquage de variable dans `if`Initialisation des variablesL'instruction `switch``switch` avec expressions`switch` sans expressionLe mot-clé `fallthrough`Récapitulatif - Prendre des décisions9Pointeurs
Qu'est-ce qu'un pointeur ?Déclaration de variables pointeursL'opérateur d'adresseDéréférencement de pointeursUtiliser des pointeurs dans les fonctionsPointeurs NilRécapitulatif - Comprendre les pointeurs12Types composites : Maps
Introduction aux MapsDéclaration de littéraux de MapCréation de Maps avec `make`Ajout et mise à jour de paires clé-valeurAccès aux valeurs d'une MapVérification de l'existence d'une cléSuppression d'entrées de MapTaille d'une MapItération sur les MapsRécapitulatif - Stockage clé-valeur