Impossible d'utiliser la fonction comme type dans l'argument: dépannage
Cette erreur se produit lors de la tentative de transmission d'une fonction en tant qu'argument à une autre fonction, mais la signature de fonction ne correspond pas au type attendu. En particulier dans le cas de la programmation GO, ce problème se pose lorsque vous essayez de passer une fonction qui prend un paramètre structuré spécifique et renvoie une interface et une erreur comme une exigence pour une autre fonction. Dans ce cas, l'argument s'attend à une implémentation de l'interface MessageHandler, qui a une signature de fonction spécifique.
Fixant le problème
pour résoudre cette erreur, vous devez vous assurer que votre fonction adhére à la signature du message de messagerie (&&&&&&] (Interface {}, erreur)
Cela signifie que votre fonction doit:
prendre un seul argument du type de livraison Messaged. être une erreur.
type MessageHandler func(MessageDelivery) (interface{}, error)
Exemple:
func uppercaseHandler (md messageDelivery) (interface {}, erreur) { S.Reply (MessageTest {Strings.toupper (MD.Message. (String))}, MD.Delivery) Retour nil, nil } func reathandler (md messageDivery) (interface {}, erreur) { S.Reply (MessageTest {Strings.repeat (MD.Message. (String), 5)}, MD.Delivery) Retour nil, nil }
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3