Junior — Middle
Ako ukončiť čítanie dát z kanála v programovaní?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa na ukončenie čítania z kanála zvyčajne používa zatvorenie kanála pomocou funkcie close(). Keď je kanál zatvorený, pokus o jeho čítanie vráti nulovú hodnotu a false ako druhý parameter, čo umožňuje detekciu konca dát.
Príklad:
ch := make(chan int)
go func() {
for i := 0; i < 5; i++ {
ch <- i
}
close(ch) // signalizujeme, že dát už nie je
}()
for val := range ch {
fmt.Println(val) // číta do zatvorenia kanála
}
V tomto príklade sa slučka for val := range ch automaticky ukončí, keď je kanál zatvorený a všetky dáta prečítané.