Junior — Middle
Hogyan lehet meghatározni egy interfészt megvalósító objektum konkrét típusát?
sobes.tech MI
Válasz az MI-től
Go nyelven az adott interfészt megvalósító objektum konkrét típusának meghatározásához típusállítást (type assertion) vagy típusváltást (type switch) használunk.
Típusállítás példája:
var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
// v ConcreteType típusú
fmt.Println("Ez a ConcreteType", v)
} else {
fmt.Println("Más típus")
}
Típusváltás példája:
switch v := i.(type) {
case ConcreteType:
fmt.Println("Ez a ConcreteType", v)
case AnotherType:
fmt.Println("Ez az AnotherType", v)
default:
fmt.Println("Ismeretlen típus")
}