Sobes.tech
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 полезен для работы с интерфейсами, когда нужно выполнить разные действия в зависимости от реального типа объекта, хранящегося в интерфейсе.