Senior
Nol (nil) kanaldan yozish paytida nima bo'ladi?
sobes.tech AI
AIdan javob
Go'da, boshlang'ich holatda bo'lmagan (nil) kanalga yozish goroutine'ni abadiy bloklaydi, chunki nil-kanal ma'lumot qabul qilish yoki yuborishga tayyor emas.
Misol:
var ch chan int // ch == nil
func main() {
ch <- 1 // abadiy bloklanadi, chunki kanal nil
}
Bu xatti-harakat ba'zida select ichida kanallarni dinamik ravishda yoqish/o'chirish uchun ishlatiladi, chunki nil-kanal bilan operatsiyalar hech qachon bajarilmaydi va goroutine'ni bloklaydi.