Junior — Middle
Wyjaśnij zasadę działania konstrukcji type switch w języku Go i czym różni się od zwykłego switch-case.
sobes.tech AI
Odpowiedź od AI
W języku Go konstrukcja type switch służy do określenia konkretnego typu wartości interfejsu podczas działania programu. Pozwala na wykonanie różnych działań w zależności od typu, do którego należy zmienna implementująca interfejs.
Przykład składni:
switch v := x.(type) {
case int:
fmt.Println("int", v)
case string:
fmt.Println("string", v)
default:
fmt.Println("inny typ")
}
Tutaj x jest zmienną typu interfejs, a v jest zmienną o konkretnym typie w każdym przypadku.
Różnica od zwykłego switch-case:
- Zwykły switch porównuje wartość wyrażenia z konstantami lub wyrażeniami.
- Type switch porównuje typ wartości interfejsu, a nie samą wartość.
Type switch jest przydatny przy pracy z interfejsami, gdy trzeba wykonać różne działania w zależności od rzeczywistego typu obiektu przechowywanego w interfejsie.