2016-06-01 37 views
0

Stellen Sie sich vor, ich habe einen Sender und eine beliebige Anzahl von Empfängern über einen Kanal verbunden. Wenn der Sender fertig ist, wird der Kanal geschlossen und alle Empfänger werden benachrichtigt. So weit, ist es gut.Schließen Sie den Golang-Kanal mit mehreren Werten

Jetzt stellen Sie sich vor Sender möchte Empfänger auf zwei verschiedene Arten beenden, sagen wir, "sofort schließen" und "zuerst beenden, was Sie tun, dann schließen". Um dies zu erreichen, muss es beim Herunterfahren zwei verschiedene Werte (JETZT vs. SPÄTER) an alle Empfänger senden.

Was ist die Go-idiomatische Möglichkeit, dies zu tun?

Antwort

2

Persönlich würde ich zwei Kanäle verwendet Abschaltung zu signalisieren: https://play.golang.org/p/5erPW1tFXp

+0

all

+0

Ja, wenn Sie einen oder mehrere zusätzliche Kanäle haben, die Werte zur Verfügung stellen, mit denen Sie arbeiten können. –