提供されたプロジェクト構造は、.proto ファイルを含む prototemps パッケージが、エラーが発生したリーダー パッケージとは別のディレクトリにあることを示しています。
この問題は、prototemps パッケージから生成された .pb.go ファイルがリーダー パッケージに正しくインポートされないために発生します。特定のエラー、メソッド protoreflect が欠落していることは、proto.Unmarshal が修正を機能させるために必要な特定のメソッドがパッケージに欠落していることを示しています。
この問題を解決するには、リーダー パッケージに正しいインポート ステートメントが含まれていることを確認してください。これを行うには、reader.go ファイルの先頭に次の行を追加します。
<code class="go">import "github.com/golang/protobuf/proto"</code>
この行は、必要な機能を提供する github.com/golang/protobuf リポジトリから proto パッケージをインポートします。 for proto.Unmarshal.
正しい import ステートメントを追加した後、コードは proto.Unmarshal を使用して protobuf メッセージを正常にアンマーシャルできるようになり、protoreflect エラーは解決されるはずです。
以上がGo での無効なインポートによって発生する「protoreflect」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。