Почему err != nil не срабатывает для логически nil ошибки?

Ответ

Переменная ошибки может иметь тип (например, *MyError), но значение nil. Тогда интерфейс (тип, значение) не nil, и err != nil истинно. Нужно возвращать return nil вместо return err когда err nil, либо проверять через errors.Is(err, nil) или по типу errors.As.

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