La structure du projet fournie montre que le package prototemps contenant les fichiers .proto se trouve dans un répertoire distinct du package lecteur où se trouve l'erreur se produit.
Le problème survient car les fichiers .pb.go générés à partir du package prototemps ne sont pas importés correctement dans le package lecteur. L'erreur spécifique, méthode protoreflect manquante, indique qu'il manque au package une méthode spécifique requise pour que proto.Unmarshal fonctionne correctement.
Pour résoudre le problème, assurez-vous d'inclure les instructions d'importation correctes dans le package du lecteur. Cela peut être fait en ajoutant la ligne suivante au début du fichier reader.go :
<code class="go">import "github.com/golang/protobuf/proto"</code>
Cette ligne importe le package proto du référentiel github.com/golang/protobuf, qui fournit les fonctionnalités nécessaires pour proto.Unmarshal.
Après avoir ajouté l'instruction d'importation correcte, le code devrait être capable de désassembler avec succès le message protobuf à l'aide de proto.Unmarshal, et l'erreur protoreflect devrait être résolue.
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!