Назад к вопросам
Junior — Middle
90
Объясните принцип работы конструкции type switch в языке Go и в чем ее отличие от обычного switch-case.
Компании, где спрашивали
Digital Spirit
Ответ от нейросети
sobes.tech AI
В языке Go конструкция type switch используется для определения конкретного типа интерфейсного значения во время выполнения. Она позволяет выполнять разные действия в зависимости от того, к какому типу принадлежит переменная, реализующая интерфейс.
Пример синтаксиса:
switch v := x.(type) {
case int:
fmt.Println("int", v)
case string:
fmt.Println("string", v)
default:
fmt.Println("другой тип")
}
Здесь x — переменная интерфейсного типа, а v — переменная с конкретным типом внутри каждого case.
Отличие от обычного switch-case:
- Обычный switch сравнивает значение выражения с константами или выражениями.
- Type switch сравнивает тип значения интерфейса, а не само значение.
Type switch полезен для работы с интерфейсами, когда нужно выполнить разные действия в зависимости от реального типа объекта, хранящегося в интерфейсе.