Sobes.tech
Junior — Middle

Objasnite princip rada konstrukcije type switch u jeziku Go i u čemu se razlikuje od običnog switch-case.

sobes.tech АИ

Одговор од АИ

U jeziku Go, konstrukcija type switch koristi se za određivanje specifičnog tipa vrednosti interfejsa tokom izvršavanja. Omogućava izvođenje različitih radnji u zavisnosti od toga kojem tipu pripada promenljiva koja implementira interfejs.

Primer sintakse:

switch v := x.(type) {
case int:
    fmt.Println("int", v)
case string:
    fmt.Println("string", v)
default:
    fmt.Println("drugi tip")
}

Ovde je x promenljiva tipa interfejs, a v je promenljiva sa specifičnim tipom u svakom slučaju.

Razlika od običnog switch-case:

  • Obični switch poredi vrednost izraza sa konstantama ili izrazima.
  • Type switch poredi tip vrednosti interfejsa, a ne samu vrednost.

Type switch je koristan za rad sa interfejsima, kada je potrebno izvršiti različite radnje u zavisnosti od stvarnog tipa objekta koji se nalazi u interfejsu.