Карточка Junior Структуры, методы и интерфейсы обновлено

type switch

Вопрос

Как проверить, какой конкретный тип лежит в v any, и сразу получить значение этого типа?

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

switch x := v.(type) { case int: ... case string: ... default: ... }. В каждой ветке x имеет тип этой ветки.

Ответ

switch x := v.(type) { case int: ... case string: ... default: ... }. В каждой ветке x имеет тип этой ветки.

Разбор

В ветке с несколькими типами (case int, int64:) и в default x остаётся типа any.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.