首頁 > 後端開發 > Golang > 為什麼在 Go 中建立同級模組時會出現錯誤?

為什麼在 Go 中建立同級模組時會出現錯誤?

王林
發布: 2024-02-09 12:57:09
轉載
1124 人瀏覽過

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

在Go語言中,建立同級模組時出現錯誤是一個常見的問題。這個問題的原因通常是由於模組的命名空間衝突所導致的。當我們在同一個目錄下建立兩個具有相同名稱的模組時,Go編譯器會認為這是衝突的,從而導致錯誤的發生。解決這個問題的方法是,將這些模組分別放置在不同的目錄下,以避免命名空間衝突。另外,我們也可以使用套件別名的方式來解決模組衝突的問題。透過為其中一個模組取一個別名,就可以避免命名空間衝突,從而成功創建同級模組。在實際開發中,我們需要注意模組命名的規範性,並避免出現同名模組的情況,以避免這個錯誤的發生。

問題內容

這是我的檔案系統:

Go/
  HelloWorld/
    go.mod
    go.sum
    hello.go
  GoQuote/
    go.mod
登入後複製

我安裝了這個模組,這是我的 HelloWorld/go.mod:

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
)
登入後複製

和 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=
登入後複製

錯誤如下: 無法匯入rsc.io/quote/v4(在GOROOT或GOPATH中找不到套件「rsc.io/quote/v4」)compilerBrokenImportundefined: quotecompilerUndeclaredName

在建立 GoQuote 目錄並執行 go mod init example.com/GoQuote 指令之前,沒有出現任何錯誤。 我是 Go 新手(第一個小時!),不知道問題是什麼。

我嘗試保存所有文件(我在 VS code 中),但沒有成功。

解決方法

看起來問題是檔案系統的結構......如果我將其更改為

Go/
  go.mod
  go.sum
  hello.go
GoQuote/
  go.mod
登入後複製

那麼就沒有錯誤。

以上是為什麼在 Go 中建立同級模組時會出現錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板