Heim  >  Artikel  >  Backend-Entwicklung  >  Wie können Sie eine Do While-Schleife in Go emulieren?

Wie können Sie eine Do While-Schleife in Go emulieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-13 13:40:02336Durchsuche

How Can You Emulate a Do While Loop in Go?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn