Что такое embedding?

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

Embedding — это встраивание одного типа в другой без явного имени поля. Пишешь type Server struct { http.Handler } — и Server получает все методы Handler, как будто они его собственные. Это не наследование, а композиция: вложенный тип по-прежнему отдельный, просто его методы "промоутятся" наверх. Можно встраивать структуры, интерфейсы, и даже указатели на структуры. Если есть конфликт имён — нужно обращаться явно через имя вложенного типа.

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

GraphQL vs REST?