wie allocate array der Kanäle gehen
Sorry für die Anfänger-syntax Frage.
Wie zu tun, wie erstellen Sie ein array der Kanäle gehen?
var c0 chan int = make(chan int);
var c1 chan int = make(chan int);
var c2 chan int = make(chan int);
var c3 chan int = make(chan int);
var c4 chan int = make(chan int);
Ist, ersetzen Sie die fünf oben genannten Zeilen in einem array von Kanälen der Größe 5?
Vielen Dank.
InformationsquelleAutor der Frage eran | 2010-05-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Aussage
var chans [5]chan int
würde alloziert ein array der Größe 5, aber alle Kanäle wärenil
.Eine Möglichkeit wäre die Verwendung einer Scheibe literal:
Wenn Sie nicht möchten, wiederholen Sie selbst, würden Sie haben zu Durchlaufen und initialisiert jedes element:
InformationsquelleAutor der Antwort Markus Jarderot
Ich denke, man kann gepufferten Kanälen in diesem Fall.
Kanäle können gepuffert werden. Bieten die Puffer-Länge als das zweite argument, um zu initialisieren einer gepufferten Kanal:
Sendet eine gepufferte Kanal-block nur, wenn der Puffer voll ist. Erhält blockiert, wenn der Puffer leer ist.
https://tour.golang.org/concurrency/3
InformationsquelleAutor der Antwort An Van Nguyen