Junior — Middle
Cum se poate încheia citirea datelor dintr-un canal în programare?
sobes.tech AI
Răspuns de la AI
În Go, pentru a încheia citirea dintr-un canal, de obicei se folosește închiderea canalului cu funcția close(). Când canalul este închis, încercarea de a citi din el returnează o valoare zero și false ca al doilea parametru, ceea ce permite detectarea sfârșitului datelor.
Exemplu:
ch := make(chan int)
go func() {
for i := 0; i < 5; i++ {
ch <- i
}
close(ch) // semnalăm că nu mai sunt date
}()
for val := range ch {
fmt.Println(val) // citește până când canalul este închis
}
În acest exemplu, bucla for val := range ch se va încheia automat când canalul va fi închis și toate datele vor fi citite.