В чём подвох nil в интерфейсах?

Ответ

Переменная интерфейса хранит (тип, значение). Если присвоить указатель nil конкретного типа, в интерфейсе будет (тип, nil). if x == nil тогда false - интерфейс не nil. Для ошибок это типично: возвращать return err где err имеет тип, но значение nil. Решение: возвращать явно nil или проверять через errors.Is.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.