Найди баг: func getUser() (*User, error) { var u *User; if err := db.Find(&u); err != nil { return u, err }; return u, nil }

Senior
95 просмотров
AFK Offer AI

Если db.Find вернул ошибку, мы возвращаем u (nil *User) и err. Но если вызывающий код проверяет return value как interface (error == nil), а User — как interface, то nil *User в interface != nil. Безопаснее: return nil, err вместо return u, err. Так interface будет реально nil.

Следующий вопрос

Что такое numeric vs float?