Junior — Middle
Hogyan lehet befejezni a munkát egy csatornával a programban?
sobes.tech MI
Válasz az MI-től
Go nyelvben a close() függvény használatával fejezhetjük be egy csatornával való munkát. A csatorna lezárása jelez a fogadóknak, hogy több érték nem lesz küldve. A csatorna lezárása után a küldés pánikot okoz, de a lezárt csatornából olvasni lehet — ez visszaadja az alapértelmezett értéket és false-t a második visszatérési értékként.
Példa:
ch := make(chan int)
ngo func() {
ch <- 42
close(ch) // A csatorna lezárása küldés után
}()
for val := range ch {
fmt.Println(val) // Kiírja 42-t
}
Így a csatornával való munka befejezéséhez hívni kell a close(channel)-t.