首頁 >後端開發 >Golang >多個Go包可以共存於一個目錄中嗎?

多個Go包可以共存於一個目錄中嗎?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-03 18:56:11349瀏覽

Can Multiple Go Packages Coexist in a Single Directory?

處理同一目錄中的多個包

問題:

維護是否可行一個包內有兩個包目錄?

背景:

在專案同時包含庫和命令列介面(CLI) 的場景中,出現的問題是:將它們建構成同一目錄中的單獨包。這種擔憂源於編譯專案時的潛在衝突,因為套件 main 和 func main 聲明對於執行 CLI 至關重要,但與程式庫所需的套件 myproject 聲明衝突。

答案:

要解決此問題,建議在主目錄中建立一個新的子資料夾,並將庫或 CLI 移至新資料夾。這樣可以確保兩個套件之間的隔離並避免命名衝突。

解決方案:

  1. 在主專案中建立一個新資料夾,例如 lib 或 bin目錄。
  2. 將庫 (myproject.go) 或 CLI (main.go) 移至新目錄資料夾。
  3. 確保使用正確的 $GOPATH 引用將移動的套件匯入到其他套件中。

範例:

考慮以下範例結構:

在本例中,庫myproject 已移至lib 子檔案夾。 main.go 檔案現在可以使用以下方式匯入函式庫:

這種方法在解決編譯衝突的同時保留了專案的組織。

其他資源:

  • [go build 與go build file.go](https://stackoverflow.com/questions/29096547/go-build -vs-go-build-file-go)

以上是多個Go包可以共存於一個目錄中嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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