Junior — Middle
Kaip galima užbaigti duomenų skaitymą iš kanalo programavime?
sobes.tech AI
Atsakymas iš AI
Go kalboje, norint užbaigti skaitymą iš kanalo, paprastai naudojamas kanalo uždarymas su funkcija close(). Kai kanalas uždaromas, bandymas jį skaityti grąžina nulines reikšmės ir false kaip antrą reikšmę, kas leidžia nustatyti duomenų pabaigą.
Pavyzdys:
ch := make(chan int)
go func() {
for i := 0; i < 5; i++ {
ch <- i
}
close(ch) // signalizuoja, kad daugiau duomenų nėra
}()
for val := range ch {
fmt.Println(val) // skaito iki kanalas bus uždarytas
}
Šiame pavyzdyje, for val := range ch ciklas automatiškai baigsis, kai kanalas bus uždarytas ir visi duomenys bus perskaityti.