Junior — Middle
Dasturda kanal bilan ishlashni qanday yakunlash mumkin?
sobes.tech AI
AIdan javob
Go tilida, kanal bilan ishlashni yakunlash uchun close() funksiyasi ishlatiladi. Kanalni yopish, qabul qiluvchilarga, endi yangi qiymatlar yuborilmasligini signal qiladi. Kanal yopilgandan so'ng, unga yuborishga urinish panikaga olib keladi, lekin yopilgan kanaldan o'qish mumkin — u nol qiymat va false ikkinchi qaytariladigan parametr bilan qaytadi.
Misol:
ch := make(chan int)
ngo func() {
ch <- 42
close(ch) // Yuborishdan so'ng kanalni yopamiz
}()
for val := range ch {
fmt.Println(val) // 42 ni chiqaradi
}
Shunday qilib, kanal bilan ishlashni yakunlash uchun close(channel) chaqirilishi kerak.