Maison > développement back-end > Golang > Comment pouvez-vous émuler une boucle Do While dans Go ?

Comment pouvez-vous émuler une boucle Do While dans Go ?

Mary-Kate Olsen
Libérer: 2024-11-13 13:40:02
original
364 Les gens l'ont consulté

How Can You Emulate a Do While Loop in Go?

Réplication des boucles do while dans Go

Dans Go, il n'y a pas d'équivalent direct à la boucle do while trouvée dans de nombreux autres langages de programmation. Il existe cependant des moyens d’obtenir des fonctionnalités similaires. Une méthode consiste à utiliser une boucle for avec une variable de boucle booléenne initialisée à true.

Le code suivant montre comment émuler une boucle do while dans Go :

for ok := true; ok; ok = EXPR {
  // Code to be executed
}
Copier après la connexion

Cette boucle continuera pour exécuter le bloc de code jusqu'à ce que l'expression EXPR soit évaluée comme fausse. Dans le contexte du problème d'origine, cette expression serait de savoir si l'entrée de l'utilisateur correspond à une condition de sortie souhaitée.

Voici une version modifiée du code fourni qui implémente correctement la fonctionnalité souhaitée :

func sample() {
  for ok := true; ok; ok = (input != 2) {
    fmt.Println("Press 1 to run")
    fmt.Println("Press 2 to exit")
    var input int
    fmt.Scanln(&input)

    switch input {
    case 1:
      fmt.Println("hi")
    case 2:
      // Exit the program
      os.Exit(2)
    default:
      fmt.Println("def")
    }
  }
}
Copier après la connexion

Dans ce code, la boucle continue jusqu'à ce que l'utilisateur saisisse 2 (pour quitter). Si l'entrée est 1, il exécute l'instruction "hi". Si l'entrée est autre chose, elle exécute l'instruction "def".

Notez que vous pouvez remplacer os.Exit(2) par un appel explicite pour revenir pour quitter la fonction plus tôt.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal