Junior — Middle
Hali qilinmagan kanaldan ma'lumotlarni o'qishga urinishda nima bo'ladi?
sobes.tech AI
AIdan javob
Go'da kanaldan ma'lumot o'qishga urinish, agar u boshlang'ich holatda bo'lmasa (ya'ni, nil bo'lsa), o'qish operatsiyasi doimiy ravishda bloklanadi. Bu, bunday kanaldan ma'lumot o'qishga uringan gorutina to'xtab qolishiga olib keladi, chunki kanal mavjud emas va ma'lumot uzata olmaydi.
Misol:
var ch chan int // ch nil
func main() {
fmt.Println(<-ch) // doimiy ravishda bloklanadi
}
Buning oldini olish uchun, kanal make yordamida initsializatsiya qilinishi kerak, masalan: ch := make(chan int).