Struktur projek yang disediakan menunjukkan bahawa pakej prototemps yang mengandungi fail .proto berada dalam direktori yang berasingan daripada pakej pembaca di mana ralat berada berlaku.
Isu timbul kerana fail .pb.go yang dihasilkan daripada pakej prototemps tidak diimport dengan betul dalam pakej pembaca. Ralat khusus, tiada kaedah protoreflect, menunjukkan bahawa pakej tiada kaedah khusus yang diperlukan untuk proto.Unmarshal untuk menjalankan pembetulan.
Untuk menyelesaikan isu, pastikan anda memasukkan pernyataan import yang betul dalam pakej pembaca. Ini boleh dilakukan dengan menambah baris berikut pada permulaan fail reader.go:
<code class="go">import "github.com/golang/protobuf/proto"</code>
Barisan ini mengimport pakej proto daripada repositori github.com/golang/protobuf, yang menyediakan fungsi yang diperlukan untuk proto.Unmarshal.
Selepas menambah penyataan import yang betul, kod tersebut sepatutnya berjaya menyahmarshal mesej protobuf menggunakan proto.Unmarshal dan ralat protoreflect harus diselesaikan.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat \'protoreflect\' yang disebabkan oleh import tidak sah dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!