Maison > Article > développement back-end > Comment les expressions de méthode permettent-elles de transmettre des méthodes en tant qu'arguments dans Go ?
Expressions de méthode dans Go
Les expressions de méthode dans Go vous permettent d'appeler une méthode avec un objet personnalisé comme premier argument. Cela peut être utile lorsque vous devez transmettre une action spécifique à une fonction.
Comprendre l'extrait de code
Considérez le code Go suivant :
func main() { dog := Dog{} b := (*Dog).Bark // method expression b(&dog, 5) } type Dog struct {} func (d *Dog) Bark(n int) { for i := 0; i < n; i++ { fmt.Println("Bark") } }
Dans cet exemple, une expression de méthode est utilisée pour attribuer une fonction à la variable b. L'expression de méthode (*Dog).Bark associe la méthode Bark de type Dog à un récepteur de pointeur (*Dog).
Lorsque b est appelé, la méthode Bark est invoquée avec l'objet dog comme premier argument et 5 comme deuxième argument. La méthode imprime « Bark » sur la console cinq fois.
Avantages des expressions de méthode
Exemple d'utilisation
Les expressions de méthode peuvent être utilisées dans diverses situations. Par exemple, vous pouvez définir une fonction d'assistance qui prend une expression de méthode et un objet, puis effectue une action basée sur la méthode :
func DoAction(f func(*Dog, int), d *Dog, n int) { f(d, n) } ... func main() { var b func(*Dog, int) if (shouldBark) { b = (*Dog).Bark } else { b = (*Dog).Sit } d := Dog{} DoAction(b, &d, 3) }
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!