Интерфейс — это набор сигнатур методов. Любой тип, у которого есть эти методы, автоматически реализует интерфейс — никакого implements писать не надо, это implicit implementation. Интерфейсы нужны для полиморфизма и decoupling: функция принимает io.Reader, а ты передаёшь файл, сетевое соединение или буфер — ей без разницы. Маленькие интерфейсы (1-2 метода) — идиоматичный Go, отсюда io.Reader, io.Writer, fmt.Stringer.
Что такое интерфейс в Go и для чего он нужен?
Junior
1.5k просмотровAFK Offer AI
Что такое индекс в БД?