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

Что произойдет, если попытаться прочитать данные из канала, который еще не был инициализирован?

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

sobes.tech AI

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

Пример:

var ch chan int // ch равен nil

func main() {
    fmt.Println(<-ch) // блокируется навсегда
}

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