Что произойдёт с горутиной при пустом select {}?

В языке Go оператор select используется для работы с несколькими каналами одновременно.

Короткий ответ

Что ответить на собеседовании

В языке Go оператор select используется для работы с несколькими каналами одновременно. Если вызвать пустой select (то есть без ни одного case), то выполнение блокируется навсегда, так как нет ни одного канала для чтения или записи, и нет default-кейса.

Подробный разбор

Ответ с пояснениями

Условие

Что произойдёт с горутиной при пустом select {}?

Ответ

В языке Go оператор select используется для работы с несколькими каналами одновременно. Если вызвать пустой select (то есть без ни одного case), то выполнение блокируется навсегда, так как нет ни одного канала для чтения или записи, и нет default-кейса.

Пример:

select {
    // пустой select
}

Этот код приведет к блокировке горутины, так как select ожидает хотя бы один доступный канал или default для продолжения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее