Чем type assertion отличается от type switch в Go-разработке?

GoMiddle+Types, Collections and MemoryТеорияtypes_collections_and_memorytype_assertion_type_switchgolang_developer

Что хотят услышать интервьюеры:

Суть: type assertion нужно рассматривать через конкретное поведение и границы применения, а сравнение с type switch помогает показать trade-off, а не просто знание терминов. type assertion извлекает конкретный тип из interface-значения.

Ответ:

Пример:

u, ok := value.(*User)

Практический акцент: Сравнительные вопросы часто используют, чтобы проверить не заучивание, а инженерное мышление.

Типичная ошибка: Главная ошибка — отвечать на сравнение абстрактно. Нужно показать, где один вариант безопаснее, проще или производительнее, и упомянуть риск: делать assertion без ok и получать panic.

Как отвечать на собеседовании: На интервью формулируйте различие через применение в реальном backend-коде: читаемость, тестируемость, latency, память и сопровождение.

Источники

Похожие вопросы