Maison >développement back-end >Golang >Comment répliquer une boucle Do While en Go ?

Comment répliquer une boucle Do While en Go ?

DDD
DDDoriginal
2024-11-20 03:23:01272parcourir

How to Replicate a Do While Loop in Go?

Réplication de la boucle Do While dans Go

Dans Go, le concept de boucle while n'est pas directement corrélé à la boucle do while de Java. Cependant, il existe des moyens d'émuler la fonctionnalité d'une boucle do while en utilisant d'autres structures de boucle disponibles dans Go.

Examinons l'exemple de code que vous avez fourni :

var i = 1
for i > 0 {
    fmt.Println("Press 1 to run")
    fmt.Println("Press 2 to exit")
    var input string
    inpt, _ := fmt.Scanln(&input)
    switch inpt {
    case 1:
        fmt.Println("hi")
    case 2:
        os.Exit(2)
    default:
        fmt.Println("def")
    }
}

Votre code est verrouillé dans une boucle infinie quelle que soit l'entrée car la condition de boucle i > 0 est toujours vrai. Pour émuler le comportement do while, vous devez utiliser une structure de boucle différente qui vérifie la condition de la boucle uniquement après l'exécution du corps de la boucle.

Voici une version modifiée de votre code qui atteint la fonctionnalité souhaitée :

var input int
for {
    fmt.Println("Press 1 to run")
    fmt.Println("Press 2 to exit")
    n, err := fmt.Scanln(&input)
    if n < 1 || err != nil {
        fmt.Println("Invalid input")
        break
    }

    switch input {
    case 1:
        fmt.Println("hi")
    case 2:
        fmt.Println("Exiting...")
        return
    default:
        fmt.Println("Invalid input")
    }
}

Dans ce code :

  • La variable de boucle i est supprimée et une nouvelle entrée de variable de type int est utilisée pour capturer l'entrée de l'utilisateur.
  • La condition de boucle n'est pas défini, ce qui entraîne une boucle infinie.
  • L'instruction break est utilisée pour quitter la boucle lorsque l'utilisateur entre une entrée non valide ou choisit de quitter.
  • L'instruction return est utilisée pour quittez la fonction lorsque l'utilisateur choisit de quitter, mettant ainsi fin au programme.

Ce code fournit le comportement souhaité d'exécution du corps de la boucle jusqu'à ce que l'utilisateur choisisse explicitement de quitter.

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!

Déclaration:
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