Junior — Middle
Ako ukončiť prácu s kanálom v programe?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa na ukončenie práce s kanálom používa funkcia close(). Zatvorenie kanála signalizuje prijímateľom, že už nebudú odoslané žiadne nové hodnoty. Po zatvorení kanála pokus o jeho odoslanie spôsobí paniku, ale čítanie zo zatvoreného kanála je možné — vráti nulovú hodnotu a false ako druhý návratový parameter.
Príklad:
ch := make(chan int)
ngo func() {
ch <- 42
close(ch) // Zatvárame kanál po odoslaní
}()
for val := range ch {
fmt.Println(val) // Vytlačí 42
}
Pre ukončenie práce s kanálom je potrebné zavolať close(channel).