Do-while-Schleifen in Go replizieren
In Go gibt es kein direktes Äquivalent zur do-while-Schleife, die in vielen anderen Programmiersprachen zu finden ist. Es gibt jedoch Möglichkeiten, eine ähnliche Funktionalität zu erreichen. Eine Methode besteht darin, eine for-Schleife mit einer booleschen Schleifenvariablen zu verwenden, die auf „true“ initialisiert ist.
Der folgende Code zeigt, wie eine do while-Schleife in Go emuliert wird:
for ok := true; ok; ok = EXPR { // Code to be executed }
Diese Schleife wird fortgesetzt um den Codeblock auszuführen, bis der Ausdruck EXPR als falsch ausgewertet wird. Im Kontext des ursprünglichen Problems wäre dieser Ausdruck, ob die Benutzereingabe mit einer gewünschten Exit-Bedingung übereinstimmt.
Hier ist eine modifizierte Version des bereitgestellten Codes, der die gewünschte Funktionalität korrekt implementiert:
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") } } }
In diesem Code wird die Schleife fortgesetzt, bis der Benutzer 2 eingibt (zum Beenden). Wenn die Eingabe 1 ist, wird die „hi“-Anweisung ausgeführt. Wenn es sich bei der Eingabe um etwas anderes handelt, wird die „def“-Anweisung ausgeführt.
Beachten Sie, dass Sie os.Exit(2) durch einen expliziten Aufruf von „return“ ersetzen können, um die Funktion vorzeitig zu beenden.
Das obige ist der detaillierte Inhalt vonWie können Sie eine Do While-Schleife in Go emulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!