Comprendre les expressions de méthode dans Go
Les expressions de méthode offrent un moyen pratique d'invoquer des méthodes dans Go. Au lieu d'appeler une méthode directement via un récepteur, vous pouvez l'attribuer à une variable et la traiter comme une fonction normale.
Considérez cet extrait de code :
func main() { dog := Dog{} b := (*Dog).Bark // method expression for Dog.Bark b(&dog, 5) } type Dog struct {} func (d *Dog) Bark(n int) { for i := 0; i < n; i++ { fmt.Println("Bark") } }
Récepteur et Expression de méthode
Une expression de méthode dérive une fonction d'une méthode avec un récepteur de pointeur. Dans ce cas, nous avons func (*Dog) Bark(n int) et l'expression (*Dog).Bark crée une valeur de fonction qui peut être stockée dans une variable, comme b.
Utilisation Method Expression
b(&dog, 5) appelle la méthode sur l'objet chien avec n=5. Ceci est équivalent à dog.Bark(5) mais vous permet de transmettre la méthode en tant que valeur.
Avantages des expressions de méthode
Les expressions de méthode offrent de la flexibilité :
Cas d'utilisation
Les expressions de méthode sont pas couramment utilisés, mais ils peuvent être utiles dans les scénarios où :
Conclusion
Les expressions de méthode offrent une manière alternative d'invoquer méthodes dans Go. Ils offrent une flexibilité accrue et peuvent être utiles dans certains scénarios, mais leur utilisation n'est pas aussi répandue que les appels de méthode directs.
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!