Junior — Middle
Hoe kan het specifieke type van een object dat een interface implementeert worden bepaald?
sobes.tech AI
Antwoord van AI
In Go wordt om het bepalen van een object van een specifiek type dat een interface implementeert, gebruik gemaakt van type assertion of type switch.
Voorbeeld met type assertion:
var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
// v heeft type ConcreteType
fmt.Println("Dit is ConcreteType", v)
} else {
fmt.Println("Ander type")
}
Voorbeeld met type switch:
switch v := i.(type) {
case ConcreteType:
fmt.Println("Dit is ConcreteType", v)
case AnotherType:
fmt.Println("Dit is AnotherType", v)
default:
fmt.Println("Onbekend type")
}