Junior — Middle
Kā var pabeigt datu lasīšanu no kanāla programmēšanā?
sobes.tech AI
Atbilde no AI
Go valodā, lai pabeigtu lasīšanu no kanāla, parasti tiek izmantots kanāla aizvēršana ar funkciju close(). Kad kanāls ir aizvērts, mēģinājums no tā lasīt atgriež nulles vērtību un false kā otro vērtību, kas ļauj noteikt datu beigas.
Piemērs:
ch := make(chan int)
go func() {
for i := 0; i < 5; i++ {
ch <- i
}
close(ch) // signāls, ka datu vairs nav
}()
for val := range ch {
fmt.Println(val) // lasa līdz kanāls ir aizvērts
}
Šajā piemērā for val := range ch cikls automātiski beigsies, kad kanāls tiks aizvērts un visi dati būs nolasīti.