Когда ты вызываешь метод через интерфейс, Go использует itab — таблицу, которая связывает конкретный тип с интерфейсом. В itab хранятся указатели на методы типа, соответствующие интерфейсу. При вызове runtime берёт указатель на метод из itab и делает indirect call. Itab кэшируется — для пары (тип, интерфейс) itab создаётся один раз и переиспользуется.
Как работает interface dispatch?
Middle+
177 просмотровAFK Offer AI
Как реализовать request/response logging?