Sobes.tech
Junior — Middle
140

Spiega il principio di funzionamento della costruzione type switch nel linguaggio Go e in cosa si differisce da un normale switch-case.

Le aziende dove è stato chiesto
Digital Spirit

Risposta dell'AI

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