Junior — Middle
¿Cómo se puede determinar el tipo específico de un objeto que implementa una interfaz?
sobes.tech AI
Respuesta de la IA
En Go, para determinar un objeto de un tipo específico que implementa una interfaz, se utiliza la afirmación de tipo (type assertion) o el switch de tipo (type switch).
Ejemplo con afirmación de tipo:
var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
// v tiene tipo ConcreteType
fmt.Println("Este es ConcreteType", v)
} else {
fmt.Println("Otro tipo")
}
Ejemplo con switch de tipo:
switch v := i.(type) {
case ConcreteType:
fmt.Println("Este es ConcreteType", v)
case AnotherType:
fmt.Println("Este es AnotherType", v)
default:
fmt.Println("Tipo desconocido")
}