Go просто таки волшебный язык. Поймать сегфолт, вызвав метод у интерфейса, который ссылается на nil выходит вообще тривиально. То есть иными словами любой метод по-хорошему должен проверять не прилетел ли ему в ресивере nil, так что ли?
func (a *A) GetB() *B { if a != nil { return a.B } return nil }
там довольно весело и в спеке даже написано об этом кажется. по идее тебе не надо делать такую безумную проверку на nil (хотя вот любители подрочить в java делают - ну они и любят nil возвращать, например вместо эксепшенов [с чего я ору постоянно]). Но задектить снаружи что NotNull интерфейс на самом деле не содержить имплементации из-за того что кто-то где-то определил переменную интерфейса - а инстанс с реализацией не создал - веселье бесконечно смешное и сложное
лол, меня забанили в другом чате за неправильный вопрос, но админ сам не грамотен в русском
Возможно, идеальное знание русского языка не так критично, как умение правильно формулировать вопрос на достаточно понятном остальным участникам дискуссии уровне, @anonim_amrl?
Возможно, идеальное знание русского языка не так критично, как умение правильно формулировать вопрос на достаточно понятном остальным участникам дискуссии уровне, @anonim_amrl?
Ну ты темнишь, что понятный уровень в Рудаче в случае того вопроса означает: >посмотрите какой я долбоёб