Когда shadowing переменных лучше не использовать или использовать осторожно?
Что хотят услышать интервьюеры:
Суть: shadowing возникает, когда внутренняя переменная скрывает внешнюю с тем же именем.
Ответ:
Пример:
if err := repo.Save(); err != nil { return err } Практический акцент: Оцените trade-off: простота, производительность, тестируемость, связность пакетов и цена поддержки.
Типичная ошибка: случайно скрыть
err ,
ctx или результат функции и получить неверную логику.
Как отвечать на собеседовании: Объясните не только синтаксис, но и почему Go предпочитает простые, явные правила и небольшие пакеты.