Maison > développement back-end > Golang > Comment résoudre l'erreur « La méthode d'interface ne doit avoir aucun paramètre de type » dans Go Generics ?

Comment résoudre l'erreur « La méthode d'interface ne doit avoir aucun paramètre de type » dans Go Generics ?

Patricia Arquette
Libérer: 2024-11-29 14:33:10
original
703 Les gens l'ont consulté

How to Resolve the

Comment surmonter l'erreur « La méthode d'interface ne doit avoir aucun paramètre de type » dans Go Generics ?

Lors de l'implémentation de génériques dans Go, vous pouvez rencontrer l'erreur "la méthode d'interface ne doit avoir aucun paramètre de type." Cette erreur se produit car, de par leur conception, les paramètres de type ne sont pas autorisés dans les méthodes d'interface. Cette décision de conception a été prise pour éviter toute ambiguïté et toute implication en termes de performances résultant de multiples interprétations de méthodes avec des paramètres de type dans les définitions d'interface.

Pour résoudre ce problème, vous pouvez déplacer le paramètre de type dans la définition de type d'interface. Considérez ce code modifié :

type Reader[V Unmarshaler] interface {
    Read(bucket []byte, k ...[]byte) ([][]byte, error)
    ReadDoc(bucket []byte, factory func() (V, error), k ...[]byte) ([]V, error)
}

type Unmarshaler interface {
    UnmarshalKV(v []byte) error
}
Copier après la connexion

Dans ce code modifié, le paramètre de type V est déplacé de la signature de la méthode vers la définition du type d'interface elle-même. Cela paramétre efficacement l'interface avec le type V, vous permettant de spécifier le type concret lors de l'implémentation de l'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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal