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 }
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") } } }
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!