Junior — Middle
Ako určiť konkrétny typ objektu, ktorý implementuje rozhranie?
sobes.tech AI
Odpoveď od AI
V jazyku Go sa na určenie konkrétneho typu objektu, ktorý implementuje rozhranie, používa tvrdenie typu (type assertion) alebo prepínač typu (type switch).
Príklad s tvrdením typu:
var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
// v má typ ConcreteType
fmt.Println("Toto je ConcreteType", v)
} else {
fmt.Println("Iný typ")
}
Príklad s prepínačom typu:
switch v := i.(type) {
case ConcreteType:
fmt.Println("Toto je ConcreteType", v)
case AnotherType:
fmt.Println("Toto je AnotherType", v)
default:
fmt.Println("Neznámy typ")
}