Aller au contenu

Embedding de structures

Go supporte la composition via l’embedding de structures (similaire aux mixins). Les champs et méthodes de la structure embarquée sont remontés dans la structure englobante.

Embedder Personne dans Employe.

package main
import "fmt"
type Personne struct {
Nom string
Age int
}
type Employe struct {
Personne // embed
ID int
Departement string
}
func main() {
e := Employe{
Personne: Personne{Nom: "Alice", Age: 30},
ID: 123,
Departement: "Ingénierie",
}
// Accès direct aux champs remontés
fmt.Println(e.Nom, e.Age, e.ID, e.Departement)
}
Fenêtre de terminal
Alice 30 123 Ingénierie