Junior — Middle
Jak lze ukončit čtení dat z kanálu v programování?
sobes.tech AI
Odpověď od AI
V jazyce Go se k ukončení čtení z kanálu obvykle používá uzavření kanálu pomocí funkce close(). Když je kanál uzavřen, pokus o jeho čtení vrací nulovou hodnotu a false ve druhém parametru, což umožňuje detekci konce dat.
Příklad:
ch := make(chan int)
go func() {
for i := 0; i < 5; i++ {
ch <- i
}
close(ch) // signalizujeme, že dat už není
}()
for val := range ch {
fmt.Println(val) // čte do uzavření kanálu
}
V tomto příkladu se smyčka for val := range ch automaticky ukončí, když je kanál uzavřen a všechna data přečtena.