Sobes.tech
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")
}