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