Отправка в небуферизованный канал в той же горутине
Разработчик проверяет работу канала минимальным примером:
func main() {
ch := make(chan int)
ch <- 1
fmt.Println(<-ch)
}
Что произойдёт при запуске?
- Напечатает `1` — значение полежит в канале до чтения
- Канал автоматически увеличит буфер, чтобы принять значение
- Напечатает `0` — отправка не успела до чтения
- Программа упадёт с `fatal error: all goroutines are asleep - deadlock!`
