Более идиоматичный вариант зависит от назначения callback: синхронный результат можно вернуть напрямую, поток — передать каналом, изменяемое поведение — выразить интерфейсом.
Можно ли придумать более идиоматичный вариант, чем callback?
Более идиоматичный вариант зависит от назначения callback: синхронный результат можно вернуть напрямую, поток — передать каналом, изменяемое поведение — выразить интерфейсом.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Более идиоматичный вариант зависит от назначения callback: синхронный результат можно вернуть напрямую, поток — передать каналом, изменяемое поведение — выразить интерфейсом.
Callback сам по себе не плох и часто является самым простым контрактом. Без исходного кода нельзя выбрать замену. Сравните обработку ошибок, отмену и владение ресурсами; канал, который создаёт лишнюю горутину ради одного значения, не обязательно улучшает решение.