Вступить в клуб →
лёгкаявопросКонкурентность: горутины, каналы, context

Отправка в небуферизованный канал в той же горутине

Разработчик проверяет работу канала минимальным примером:

func main() {
    ch := make(chan int)
    ch <- 1
    fmt.Println(<-ch)
}

Что произойдёт при запуске?

  • Напечатает `1` — значение полежит в канале до чтения
  • Канал автоматически увеличит буфер, чтобы принять значение
  • Напечатает `0` — отправка не успела до чтения
  • Программа упадёт с `fatal error: all goroutines are asleep - deadlock!`

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела