Dalam bahasa Go, ralat semasa membuat modul adik-beradik adalah masalah biasa. Punca masalah ini biasanya disebabkan oleh konflik ruang nama dalam modul. Apabila kami mencipta dua modul dengan nama yang sama dalam direktori yang sama, pengkompil Go akan menganggap ini sebagai konflik, menyebabkan ralat. Penyelesaian kepada masalah ini ialah meletakkan modul ini dalam direktori yang berbeza untuk mengelakkan konflik ruang nama. Selain itu, kami juga boleh menggunakan alias pakej untuk menyelesaikan konflik modul. Dengan memberikan salah satu modul alias, anda boleh mengelakkan konflik ruang nama dan berjaya mencipta modul adik-beradik. Dalam pembangunan sebenar, kita perlu memberi perhatian kepada penyeragaman penamaan modul dan mengelakkan modul dengan nama yang sama untuk mengelakkan ralat ini.
Ini sistem fail saya:
Go/ HelloWorld/ go.mod go.sum hello.go GoQuote/ go.mod
Saya memasang modul dan ini HelloWorld/go.mod saya:
module example/hello go 1.21.3 require ( golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c // indirect rsc.io/quote/v4 v4.0.1 rsc.io/sampler v1.3.0 // indirect )
dan go.sum:
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c h1:qgOY6WgZOaTkIIMiVjBQcw93ERBE4m30iBm00nkL0i8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/quote/v4 v4.0.1 h1:i/LHLEinr65wwTCqlP4OnMoMWeCgnFIZFvifdXNK+5M= rsc.io/quote/v4 v4.0.1/go.mod h1:w/DafQky66grMesu3uPhdDMS3knhBippwwemZtMOyCI= rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
Ralatnya adalah seperti berikut:
无法导入rsc.io/quote/v4(在GOROOT或GOPATH中找不到包“rsc.io/quote/v4”)compilerBrokenImport
dan
undefined: quotecompilerUndeclaredName
Tiada ralat berlaku sehingga saya mencipta direktori GoQuote dan menjalankan arahan go mod init example.com/GoQuote
.
Saya baru menggunakan Go (jam pertama!) dan tidak tahu apa masalahnya.
Saya cuba menyimpan semua fail (saya dalam kod VS) tetapi tidak berjaya.
Nampaknya masalahnya ialah struktur sistem fail...jika saya menukarnya kepada
Go/ go.mod go.sum hello.go GoQuote/ go.mod
Maka tiada ralat.
Atas ialah kandungan terperinci Mengapa saya mendapat ralat semasa membuat modul adik-beradik dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!