Junior — Middle
141
Explique le principe de fonctionnement de la construction type switch dans le langage Go et en quoi elle diffère d'un switch-case classique.
Entreprises à qui on a demandé
Digital Spirit
Réponse de l'IA
sobes.tech IA
В языке 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 полезен для работы с интерфейсами, когда нужно выполнить разные действия в зависимости от реального типа объекта, хранящегося в интерфейсе.