Как работает method resolution?

Middle
190 просмотров
AFK Offer AI

Go ищет метод по уровням: сначала на самом типе, потом на встроенных полях первого уровня, потом второго и так далее. Если метод найден на текущем уровне — deeper не смотрит. Если на одном уровне два встроенных поля имеют метод с одним именем — ambiguity, компилятор ругнётся (если ты этот метод вызываешь). Можно разрешить явно: s.EmbeddedField.Method(). Свой метод на типе всегда побеждает promoted. Это предсказуемо и просто — нет виртуальных таблиц как в C++.

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

Что делать при certificate expired?