Go - Was entspricht Pythons "Pass"?

8

Ich habe eine Standardursache in einer Select-Anweisung, die ich nicht tun möchte, einfach weiter, aber die Zeile leer lassen stoppt alles in der Anweisung passiert

%Vor%     
talloaktrees 17.09.2012, 01:48
quelle

1 Antwort

9

Die default -Fall in einer select -Anweisung soll nicht blockierende E / A für Kanal-Lese- und -Schreibvorgänge bereitstellen. Der Code im Fall default wird ausgeführt, wenn keiner der Kanäle in einem der Fälle zum Lesen / Schreiben bereit ist.

In diesem Fall wird der default -Block ausgeführt, wenn der Quit-Channel nichts zu sagen hat. Sie können den Standardfall einfach entfernen und er wird in der Fallgruppe quit_status := <-quit blockiert, bis ein Wert in quit verfügbar ist. Dies ist wahrscheinlich das, was Sie in diesem Fall suchen.

Wenn Sie nach der select-Anweisung sofort weiter Code ausführen möchten, sollten Sie diese select-Anweisung in einer separaten goroutine ausführen:

%Vor%     
jimt 17.09.2012, 02:00
quelle

Tags und Links