Junior — Middle
Xətaları qarşısını almaq üçün Go-da kanalı neçə dəfə bağlamaq lazımdır?
sobes.tech Süni İntellekt
AI-dan cavab
Go dilində, bir kanalı tam olaraq bir dəfə bağlamaq lazımdır, artıq ona məlumat göndərilməyəcəksə. Kanalı bir neçə dəfə bağlamaq, runtime panic-ə səbəb olacaq.
Vacib:
- Kanala yazan şəxs onu bağlamalıdır, oxuyan deyil.
- Əgər kanal gorutinalar arasında məlumat ötürmək üçün istifadə olunursa, bağlama, artıq məlumatın olmayacağını göstərir.
Nümunə:
ch := make(chan int)
func() {
defer close(ch) // kanalı bir dəfə bağlayırıq
for i := 0; i < 5; i++ {
ch <- i
}
}()
for val := range ch {
fmt.Println(val)
}
Bu nümunədə, kanal bütün dəyərlər göndərildikdən sonra bir dəfə bağlanır.