Sobes.tech
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).