Sobes.tech
Junior — Middle

Cum se poate determina tipul specific al unui obiect care implementează o interfață?

sobes.tech AI

Răspuns de la AI

În Go, pentru a determina un obiect de un anumit tip care implementează o interfață, se utilizează afirmația de tip (type assertion) sau switch-ul de tip (type switch).

Exemplu cu afirmație de tip:

var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
    // v are tipul ConcreteType
    fmt.Println("Acesta este ConcreteType", v)
} else {
    fmt.Println("Alt tip")
}

Exemplu cu switch de tip:

switch v := i.(type) {
case ConcreteType:
    fmt.Println("Acesta este ConcreteType", v)
case AnotherType:
    fmt.Println("Acesta este AnotherType", v)
default:
    fmt.Println("Tip necunoscut")
}