Sobes.tech
Junior — Middle

Comment peut-on déterminer le type spécifique d'un objet qui implémente une interface?

sobes.tech IA

Réponse de l'IA

En Go, pour déterminer un objet d'un type spécifique qui implémente une interface, on utilise l'affirmation de type (type assertion) ou le switch de type (type switch).

Exemple avec affirmation de type :

var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
    // v a le type ConcreteType
    fmt.Println("Ceci est ConcreteType", v)
} else {
    fmt.Println("Autre type")
}

Exemple avec switch de type :

switch v := i.(type) {
case ConcreteType:
    fmt.Println("Ceci est ConcreteType", v)
case AnotherType:
    fmt.Println("Ceci est AnotherType", v)
default:
    fmt.Println("Type inconnu")
}