Constructeurs dans Go
Lorsque vous traitez des types personnalisés définis comme des structures dans Go, il peut être souhaitable de les initialiser avec des valeurs par défaut raisonnables lors création. Cependant, contrairement aux langages de programmation orientés objet traditionnels, Go ne dispose pas de constructeurs dédiés aux structures.
Alternative aux constructeurs : nouvelles fonctions
Pour remédier à cette situation, les ingénieurs Go utilisent généralement des fonctions « nouvelles ». Ces fonctions acceptent les paramètres nécessaires à l'initialisation et renvoient un pointeur vers une nouvelle instance de structure :
type Thing struct { Name string Num int } func NewThing(someParameter string) *Thing { p := new(Thing) p.Name = someParameter p.Num = 33 return p }
Cette approche permet l'initialisation des valeurs de structure avec des valeurs par défaut spécifiques, telles que l'attribution d'une valeur au champ "Num". .
Syntaxe de nouvelle fonction condensée
Pour les structures simples, une syntaxe condensée peut être utilisé :
func NewThing(someParameter string) *Thing { return &Thing{someParameter, 33} }
Types de retour sans pointeur
Si le retour d'un pointeur n'est pas souhaité, une fonction "make" peut être utilisée à la place de "New " :
func makeThing(name string) Thing { return Thing{name, 33} }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!