Вопрос: Что такое interface и как проверить, что тип реализует интерфейс?

Go Junior Без компании
Вопрос: Что такое interface и как проверить, что тип реализует интерфейс?
Ответы
Интерфейс задаёт набор методов. Реализация неявная: тип реализует интерфейс, если у него есть нужные методы. Проверка на этапе компиляции: ```go package main type Stringer interface { String() string } type User struct{ Name string } func (u User) String() string { return u.Name } var _ Stringer = User{} // если не реализует — ошибка компиляции func main() {} ``` Это полезно в больших проектах, чтобы не сломать контракт.