Нет. Канал — средство взаимодействия горутин, а не оператор асинхронного запуска. Обычный вызов функции остаётся синхронным, даже если внутри есть канал.
Обязательно ли использование канала делает функцию асинхронной?
Нет. Канал — средство взаимодействия горутин, а не оператор асинхронного запуска. Обычный вызов функции остаётся синхронным, даже если внутри есть канал.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Нет. Канал — средство взаимодействия горутин, а не оператор асинхронного запуска. Обычный вызов функции остаётся синхронным, даже если внутри есть канал.
Отправка и получение могут блокироваться. Для конкурентного выполнения обычно используют go, а канал передаёт результат или сигнал завершения. Буфер позволяет временно не ждать получателя, но сам по себе не создаёт отдельный поток выполнения.