Видео недоступно для предпросмотра
Смотреть в Max
Nil-интерфейс в Go: почему err == nil выдаёт false?
Nil-интерфейс в Go ломает даже опытных разработчиков: функция возвращает nil-указатель *E, а проверка err == nil всё равно даёт false. Причина в том, что интерфейс хранит пару из типа и значения, и пока тип *E на месте, интерфейс не считается пустым. Хочешь вернуть «нет ошибки», возвращай nil явно.
Nil-интерфейс в Go ломает даже опытных разработчиков: функция возвращает nil-указатель *E, а проверка err == nil всё равно даёт false. Причина в том, что интерфейс хранит пару из типа и значения, и пока тип *E на месте, интерфейс не считается пустым. Хочешь вернуть «нет ошибки», возвращай nil явно.