Heim >Backend-Entwicklung >Golang >Golang – Wenn jeder Fall im Switch-Fall ausgewertet wird, wie ist die Reihenfolge?

Golang – Wenn jeder Fall im Switch-Fall ausgewertet wird, wie ist die Reihenfolge?

WBOY
WBOYnach vorne
2024-02-08 22:21:09552Durchsuche

Golang - 如果 switch case 中的每个 case 都进行评估,那么顺序是什么?

php-Redakteur Baicao ist hier, um eine Frage zu Golang zu beantworten: „Wenn jeder Fall im Switch-Fall ausgewertet wird, wie ist die Reihenfolge?“ In Golang ist die Ausführungsreihenfolge der Switch-Anweisungen von oben nach unten werden in der Reihenfolge der Fälle im Code ausgewertet. Sobald ein Fall erfolgreich abgeglichen wurde, wird der entsprechende Codeblock ausgeführt und das Programm springt dann aus der Switch-Anweisung heraus. Wenn kein passender Fall vorhanden ist, wird die Standardanweisung (sofern vorhanden) ausgeführt. Wenn keine Standardanweisung vorhanden ist, wird die Switch-Anweisung direkt beendet. Dies sind die Reihenfolge und Ausführungsregeln von Switch-Fällen in Golang.

Frageninhalt

Angenommen, wir haben einen Schaltkasten

switch {
  case true:
   fmt.Println(1)
  case true:
   fmt.Println(2)

Was wird ausgegeben?

Ich habe gehört, dass Golang pseudozufällige Ausdrücke wählt, aber ich habe es in Go-Playground getestet und festgestellt, dass es der Reihenfolge von oben nach unten folgt, sodass die Ausgabe 1 lautet.

Problemumgehung

Führen Sie den ersten mit Cases aus gepaart mit der switch-Anweisung:

https://www.php.cn/link/77772713a7d7e02b10ca9bd90e4f6a31

Wenn mehrere Zweige zum Fortfahren bereit sind, erfolgt die pseudozufällige Auswahl in der select-Anweisung statt in der switch.

Das obige ist der detaillierte Inhalt vonGolang – Wenn jeder Fall im Switch-Fall ausgewertet wird, wie ist die Reihenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen