Nil pointer dereference — обращение через указатель, который не указывает на объект. В Go такое разыменование вызывает runtime panic.
Что такое nil pointer dereference?
Nil pointer dereference — обращение через указатель, который не указывает на объект. В Go такое разыменование вызывает runtime panic.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Nil pointer dereference — обращение через указатель, который не указывает на объект. В Go такое разыменование вызывает runtime panic.
Например, при var p *User чтение p.Name потребует разыменования nil. Причина часто в непроверенной ошибке конструктора, отсутствующем значении или нарушении жизненного цикла объекта. Проверяйте условия появления nil и инварианты API. Вызвать метод с nil pointer receiver иногда можно: panic возникает, если его реализация разыменует указатель без проверки.