Sobes.tech
Junior — Middle

Kodda qaysi joyda kanalni yopish kerak?

sobes.tech AI

AIdan javob

Go'da kanalni yaratgan joyda va endi ma'lumot yuborishni rejalashtirmagan joyda yopish kerak. Odatiy holda, bu yuboruvchi tomonidan amalga oshiriladi va qabul qiluvchilarga ma'lumotlar endi bo'lmasligini signal qilish uchun.

Muhim:

  • Qabul qiluvchilar o'qishda kanal yopilganligini tekshirishlari mumkin.
  • Kanal faqat yuboruvchi tomonidan yopilishi kerak, aks holda panika yuzaga kelishi mumkin.

Misol:

ch := make(chan int)
func() {
    defer close(ch) // barcha ma'lumotlar yuborilgandan so'ng kanalni yopamiz
    for i := 0; i < 5; i++ {
        ch <- i
    }
}()

for val := range ch {
    fmt.Println(val) // kanal yopilguncha ma'lumotlarni olamiz
}