Sobes.tech
Назад к вопросам
Junior — Middle
93

Что случится, если выполнить операцию записи в пустой (nil) канал в языке Go?

Компании, где спрашивали
Магнит Тех
ГазпромбанкГазпромбанк

Ответ от нейросети

sobes.tech AI

Если попытаться записать значение в nil-канал в Go, программа заблокируется навсегда (deadlock). Это происходит потому, что nil-канал не инициализирован и не может принимать или отдавать значения.

Пример:

var ch chan int // ch == nil

func main() {
    ch <- 1 // здесь программа зависнет
}

Чтобы избежать этого, канал нужно инициализировать с помощью make, например:

ch := make(chan int)

Только после этого в канал можно безопасно писать и читать.