Go-Äquivalent von Javas „do while“-Schleife
In Java ermöglicht eine „do while“-Schleife die Ausführung eines Codeblocks mindestens einmal, bevor Sie nach einer Exit-Bedingung suchen. Go hat keine explizite „do while“-Schleife, kann aber mithilfe einer for-Schleife repliziert werden, wobei eine boolesche Schleifenvariable auf „true“ gesetzt ist.
Korrigierter Code:
Um das Problem mit der Endlosschleife in Ihrem Code zu beheben, müssen Sie die Schleifenbedingung aktualisieren, um zu prüfen, ob die Benutzereingabe gleich 2 ist (was auf ein Beenden hinweist). Darüber hinaus sollten Sie ungültige Benutzereingaben behandeln.
Hier ist der korrigierte Code:
func sample() { var input int for ok := true; ok; ok = (input != 2) { fmt.Println("Press 1 to run") fmt.Println("Press 2 to exit") var inpt, err = fmt.Scanln(&input) if inpt < 1 || err != nil { fmt.Println("Invalid input") break } switch input { case 1: fmt.Println("hi") case 2: // User chose to exit default: fmt.Println("def") } } }
Das obige ist der detaillierte Inhalt vonWie implementiert man eine „do while'-Schleife in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!