Что можешь рассказать про интерфейсы в Go?

Обычный интерфейс Go задаёт набор методов; тип соответствует ему неявно, если имеет нужный method set. Значение интерфейса содержит динамический тип и значение.

Короткий ответ

Что ответить на собеседовании

Обычный интерфейс Go задаёт набор методов; тип соответствует ему неявно, если имеет нужный method set. Значение интерфейса содержит динамический тип и значение.

Подробный разбор

Ответ с пояснениями

Обычный интерфейс Go задаёт набор методов; тип соответствует ему неявно, если имеет нужный method set. Значение интерфейса содержит динамический тип и значение.

Поэтому интерфейс с nil-указателем внутри может быть не равен nil. Наборы методов T и *T различаются, что важно для pointer receiver. Делайте интерфейсы небольшими и ориентированными на потребителя. Утверждение типа и type switch позволяют работать с конкретными вариантами, но чрезмерные проверки часто показывают неудачную границу абстракции.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее