首頁 >後端開發 >Golang >如何存取Go模組中的本機包?

如何存取Go模組中的本機包?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-22 05:04:13619瀏覽

How Do I Access Local Packages Within a Go Module?

存取 Go 模組中的本機套件

問題:

無法存取 Go 模組中的本機套件。專案架構如下:

/
  - /platform
      - platform.go
  - main.go
  - go.mod

在main.go中匯入platform套件會報錯:cannot find module for path platform。

答案:

要存取Go模組中的本機套件,您可以在go.mod檔中使用replace指令。該指令允許您指定未遠端發布的模組的本機路徑。

在主模組的 go.mod 檔案中,加入以下行:

module github.com/userName/mainModule

require "github.com/userName/otherModule" v0.0.0
replace "github.com/userName/otherModule" v0.0.0 => "local physical path to the otherModule"

指定的路徑應該指向模組的根目錄,可以是絕對的或相對的。

在main.go 中,要從otherModule 模組匯入特定的套件(例如platform),請使用下列匯入路徑:

import "github.com/userName/otherModule/platform"

附加資訊:

  • Go 中的模組是套件的集合。在 Go 11 中,您可以使用模組而無需遠端發布它們。
  • 如果套件位於同一個專案中,您可以使用套件名稱直接匯入它們。
  • 對於單獨的模組,replace 指令用於引用本地包,而不需要遠端發布它們。

更多資訊請參考以下資源詳細資訊:

  • [Golang 模組](https://go.dev/blog/modules )

以上是如何存取Go模組中的本機包?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn