Senior
Yopiq kanalga o'qish va yozish paytida nima bo'ladi?
sobes.tech AI
AIdan javob
Go til ishlashda kanallar bilan:
-
Yopiq kanaldan o‘qish: Kanal yopilgan va unda ma’lumotlar bo‘lmasa, o‘qish operatsiyasi kanalning nol qiymatini va ikkinchi qiymatda
falseni qaytaradi (agar ishlatilsa), bu kanal yopilganligini bildiradi. -
Yopiq kanalda yozish: Yopiq kanalda yozishga urinish
panicbilan natijalanadi. Bu bajarilish vaqtidagi xato.
Misol:
ch := make(chan int)
close(ch)
// O‘qish
v, ok := <-ch // ok == false, v == 0
// Yozish
ch <- 1 // panic: send on closed channel
Shunday qilib, yopiq kanaldan, unda ma’lumot bo‘lsa, xavfsiz o‘qish mumkin, lekin yozib bo‘lmaydi.