Rumah > pembangunan bahagian belakang > Golang > Mengapa saya mendapat ralat semasa membuat modul adik-beradik dalam Go?

Mengapa saya mendapat ralat semasa membuat modul adik-beradik dalam Go?

王林
Lepaskan: 2024-02-09 12:57:09
ke hadapan
1108 orang telah melayarinya

为什么在 Go 中创建同级模块时会出现错误?

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.

Kandungan soalan

Ini sistem fail saya:

Go/
  HelloWorld/
    go.mod
    go.sum
    hello.go
  GoQuote/
    go.mod
Salin selepas log masuk

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
)
Salin selepas log masuk

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=
Salin selepas log masuk

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.

Penyelesaian

Nampaknya masalahnya ialah struktur sistem fail...jika saya menukarnya kepada

Go/
  go.mod
  go.sum
  hello.go
GoQuote/
  go.mod
Salin selepas log masuk

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!

Label berkaitan:
sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan