Интерфейс Go задаёт набор методов; тип реализует его неявно. Небольшой интерфейс обычно объявляют рядом с кодом, которому это поведение требуется.
Что такое интерфейсы в Go и где их предпочтительно объявлять и хранить?
Интерфейс Go задаёт набор методов; тип реализует его неявно. Небольшой интерфейс обычно объявляют рядом с кодом, которому это поведение требуется.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Интерфейс Go задаёт набор методов; тип реализует его неявно. Небольшой интерфейс обычно объявляют рядом с кодом, которому это поведение требуется.
Так потребитель описывает минимальный контракт, а реализация не навязывает лишние методы. Не нужен общий пакет interfaces для всех типов только ради порядка. Общий публичный контракт уместен, когда его действительно используют несколько независимых частей системы.