Junior — Middle
Jak lze ukončit práci s kanálem v programu?
sobes.tech AI
Odpověď od AI
V jazyce Go se k ukončení práce s kanálem používá funkce close(). Zavření kanálu signalizuje příjemcům, že již nebudou odesílány žádné nové hodnoty. Po uzavření kanálu pokus o jeho odeslání způsobí panic, ale čtení z uzavřeného kanálu je možné — vrátí nulovou hodnotu a false jako druhý návratový parametr.
Příklad:
ch := make(chan int)
ngo func() {
ch <- 42
close(ch) // Uzavření kanálu po odeslání
}()
for val := range ch {
fmt.Println(val) // Vytiskne 42
}
Pro ukončení práce s kanálem je třeba zavolat close(channel).