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.