Go â Das Praxisbuch by Andreas Schröpfer
Autor:Andreas Schröpfer [Andreas Schröpfer]
Die sprache: eng
Format: epub
Herausgeber: dpunkt
veröffentlicht: 2020-06-01T16:00:00+00:00
func laeufer(start chan struct{}) {
<-start
// ... los geht's
}
Listing 8â13 Auf die Plätze, fertig, los!
In unserem kleinen Wettrennen erzeugen wir einen Channel, über den wir alle Goroutinen zeitgleich starten lassen können. Als Typ verwenden wir ein struct, also eine leere Struktur. Dieser Typ ist üblich, wenn wir keine Daten über den Channel schicken wollen. Das hat zwei Vorteile: Zum einen muss für den Typ kein Arbeitsspeicher für einen Wert bereitgestellt werden, zum anderen erkennen wir an diesem Typ, dass auch kein Wert verschickt wird.
Alle laeufer() warten, bis der Channel geschlossen wird. Sobald wir mit close() den Channel schlieÃen, laufen die drei Goroutinen los.
Wir können mit einem geschlossenen Channel noch einiges mehr anstellen. Denn sobald der Channel geschlossen wurde, meldet dieser den Nullwert. Wir können aber an diesem Wert nicht erkennen, ob er gesendet wurde oder aus einem geschlossenen Channel kommt. Deshalb liefert die Abfrage aus einem Channel einen zweiten Parameter vom Typ bool zurück. Wenn wir einen echten Wert geschickt bekommen, dann ist dieser Wert true.
func main() {
ch := make(chan int)
go func(c chan int) {
for i := 0; i < 2; i++ {
c <- i
}
close(c)
}(ch)
for i := 0; i < 4; i++ {
n, ok := <-ch
fmt.Println(n, ok)
}
}
// Output:
// 0 true
// 1 true
// 0 false
// 0 false
Download
Diese Site speichert keine Dateien auf ihrem Server. Wir indizieren und verlinken nur Inhalte von anderen Websites zur Verfügung gestellt. Wenden Sie sich an die Inhaltsanbieter, um etwaige urheberrechtlich geschützte Inhalte zu entfernen, und senden Sie uns eine E-Mail. Wir werden die entsprechenden Links oder Inhalte umgehend entfernen.
Integrierte Business-Informationssysteme by Klaus-Dieter Gronwald(1061)
Datenanalyse mit Python: Auswertung von Daten mit Pandas, NumPy und IPython by Wes McKinney(1036)
George R by User(1025)
Noah Gordon by x(1011)
Statistik mit R für Dummies by Joseph Schmuller(972)
Unknown Title by Unknown Author(961)
Hacker by Martin(945)
Wie man Freunde gewinnt by Dale Carnegie(922)
Nächste Ausfahrt Zukunft: Geschichten aus einer Welt im Wandel (German Edition) by Ranga Yogeshwar(911)
R.E.M. by Michael Marshall Smith(898)
Vegan kochen für alle by Björn Moschinski(896)
0333 - Einer blieb übrig by Einer blieb übrig(895)
ENERGY! by Dr. med. Anne Fleck(869)
Datenbankentwicklung lernen mit SQL Server 2017 by Robert Panther(851)
Richtig einsteigen: Desktop- und Web-Datenbanken erstellen mit Access 2013 by Lorenz Hölscher(850)
Amazon für Entscheider by Unknown(847)
Einstieg in C by Thomas Theis(842)
Vegan for Fit. Die Attila Hildmann 30-Tage-Challenge by Attila Hildmann(837)
Microsoft Excel 2016 by dpunkt(821)