Где размещать описание интерфейса?

Middle
1.1k просмотров
AFK Offer AI

В Go интерфейсы определяются на стороне потребителя, а не реализации. Если пакет service использует зависимость — он объявляет интерфейс у себя, а не в пакете зависимости.

Это принцип Go: «Accept interfaces, return structs». Маленькие интерфейсы (1-3 метода) лучше больших.

Стандартная библиотека подаёт пример: io.Reader, io.Writer — по одному методу. Не создавай интерфейс заранее «на всякий случай» — только когда есть реальная потребность в абстракции.

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

Что такое EXPLAIN?