La boucle for est une instruction de flux de contrôle utilisée pour exécuter de manière répétée un bloc de code. Dans Go, la boucle for est la seule construction en boucle.

Vous pouvez utiliser la boucle for pour répéter des blocs de code et simuler une gamme complète de boucles d'autres langages, y compris les boucles for...each, while et do...while.

Installer Aller au début

Assurez-vous que vous avez Allez installé à suivre. La plupart de ces exemples nécessitent la fmt package, et vous devez utiliser une structure globale comme celle-ci :

forfait principale

importer "fmt"

fonctionprincipale() {
// le code va ici
}

Un triple composant pour Loop in Go

C'est peut-être la boucle for la plus courante. Comme son nom l'indique, il prend trois composants: la valeur initiale, une condition et une instruction post. Voici la syntaxe :

pour l'initialisation; condition; Publier {
déclaration(s)
}

Dans cette boucle, après l'initialisation, la condition est évaluée. Si vrai, les instructions du bloc de boucle for s'exécutent, suivies de l'instruction post. Le programme répète ce processus jusqu'à ce que la condition ne soit plus évaluée comme vraie. Ci-dessous un exemple.

pour je := 1; je <= 5; je++ {
fmt.Println(je)
}

Ici:

  • les ensembles d'initialisation je à 1
  • l'état est je <= 5
  • la déclaration de poste est je++

Cette boucle for imprime la valeur actuelle de je s'il est inférieur ou égal à 5. La « déclaration de poste » ajoute 1 à je après chaque boucle et une fois je arrive à 5, la boucle se termine. Sans l'« instruction post », la boucle s'exécuterait une infinité de fois et pourrait causer le plantage du programme.

Une boucle pour chaque en Go

Go n'a pas de boucle for-each, mais vous pouvez modifier une boucle for pour traverser une collection d'éléments. Voici la syntaxe :

pour l'index, value := range collection {
// corps
}

La collection peut être un tableau, une tranche, une chaîne ou une carte, ou des valeurs reçues sur un canal. L'index est la position dans la collection. La valeur est l'élément à l'index.

Si vous ne vous souciez que de la valeur, omettez l'index comme ceci :

pour _, valeur := tranche de plage {}

Dans l'exemple ci-dessous, la boucle parcourt le tableau et imprime à la fois l'index et la valeur de chaque élément qu'il contient.

tableau := []chaîne{"bonjour", "monde"}

pour je, j := gamme déployer {
fmt.Println(je, j)
}

Une boucle While en Go

Vous pouvez utiliser la boucle for pour obtenir fonctionnalité de boucle while. Dans une boucle while, une instruction s'exécute tant qu'une condition reste vraie. Considérer ce qui suit:

je := 1

pour moi <= 5 {
je *= 2
}

fmt.Println(je)

Dans ce code, alors que je est inférieur ou égal à 5, il est multiplié par 2 à chaque exécution de la boucle.

Une boucle Do…While en Go

La boucle do...while est différente de la boucle while car le corps de la boucle s'exécutera au moins une fois. Il existe deux approches pour implémenter cela dans Go.

  1. Assurez-vous que la condition de la première itération est définie sur true.
    je := 10

    pour suivant := vrai; Suivant; suivant = je <= 5 {
    fmt.Println(je)
    je++
    }

    // Imprimera 10

    Comme la condition initiale est vraie, je est imprimé puis incrémenté à la première itération. Étant donné que l'état (je <=5) est évalué à faux lors de la deuxième itération, la boucle se termine.
  2. Exécutez le corps de la boucle une fois avant de vérifier la condition.
    je := 10

    pour {
    fmt.Println(je)
    je++

    si je >= 5 {
    Pause;
    }
    }

    // Imprimera 10

    Dans la boucle for ci-dessus, 10, qui est la valeur de i, est imprimé en premier, puis l'instruction if s'exécute. Si la condition est vraie, la boucle s'interrompt, sinon la boucle continue.

Autres instructions de flux de contrôle

Les boucles de programmation sont importantes car elles simplifient les tâches répétitives et permettent de gagner du temps. Au lieu d'écrire une ligne de code dix fois, vous pouvez simplement créer une boucle qui s'exécute dix fois. Les autres instructions de flux de contrôle sont les instructions if, if...else, if...else if...if et switch.

Quoi de neuf dans Go Version 1.18

Lire la suite

PartagerTweeterPartagerE-mail

Rubriques connexes

  • Programmation
  • Programmation

A propos de l'auteur

Marie Gathoni (22 articles publiés)

Mary Gathoni est une développeuse de logiciels passionnée par la création de contenu technique non seulement informatif mais également engageant. Lorsqu'elle ne code pas ou n'écrit pas, elle aime passer du temps avec des amis et être à l'extérieur.

Plus de Mary Gathoni

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner