L'implémentation d'une interface anonyme est-elle possible dans Go ?
La possibilité de définir une implémentation anonyme d'une interface à l'aide de fonctions anonymes, similaires au pseudo-code :
RandomNumOp({
Binary: func(a,b int) int { return a+b},
Ternary: func(a,b,c int) int {return a+b+c},
})
n'est pas directement pris en charge dans Go. Voici quelques approches possibles, selon que la mise en œuvre doit fonctionner ou non :
Si la mise en œuvre doit fonctionner
-
Utiliser une mise en œuvre existante : Définir un type qui intègre une implémentation existante, fournissant les méthodes requises.
Si l'implémentation n'est pas requise pour Travail
-
Utiliser un littéral de structure anonyme : Intégrez le type d'interface dans un littéral de structure anonyme, en fournissant une implémentation d'espace réservé (avec des méthodes vides) pour les fonctions d'interface.
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!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn