Junior — Middle
Vysvetlite princíp fungovania konštrukcie type switch v jazyku Go a v čom sa líši od bežného switch-case.
sobes.tech AI
Odpoveď od AI
V jazyku Go sa konštrukcia type switch používa na určenie konkrétneho typu hodnoty rozhrania počas behu. Umožňuje vykonávať rôzne akcie v závislosti od typu, ku ktorému patrí premenná implementujúca rozhranie.
Príklad syntaxe:
switch v := x.(type) {
case int:
fmt.Println("int", v)
case string:
fmt.Println("string", v)
default:
fmt.Println("iný typ")
}
Tu je x premenná typu rozhranie a v je premenná s konkrétnym typom v každom prípade.
Rozdiel od bežného switch-case:
- Bežný switch porovnáva hodnotu výrazu s konštantami alebo výrazmi.
- Type switch porovnáva typ hodnoty rozhrania, nie hodnotu samotnú.
Type switch je užitočný pri práci s rozhraniami, keď je potrebné vykonať rôzne akcie v závislosti od skutočného typu objektu uloženého v rozhraní.