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")
}