Когда sentinel errors лучше не использовать или использовать осторожно?
Что хотят услышать интервьюеры:
Суть: sentinel error — заранее объявленное значение ошибки для проверки конкретного случая.
Ответ:
Пример:
var ErrNotFound = errors.New("not found") Практический акцент: Оцените trade-off: простота, производительность, тестируемость, связность пакетов и цена поддержки.
Типичная ошибка: экспортировать слишком много sentinel errors и связывать пакеты жесткими контрактами.
Как отвечать на собеседовании: Хороший ответ показывает, что Go строится вокруг явных ошибок, простых функций и предсказуемого control flow.