首頁 >後端開發 >Golang >如何在同一目錄中組織一個庫和 CLI 的 Go 專案?

如何在同一目錄中組織一個庫和 CLI 的 Go 專案?

Barbara Streisand
Barbara Streisand原創
2024-12-09 14:26:11140瀏覽

How Can I Organize a Go Project with Both a Library and a CLI in the Same Directory?

在多包專案中組織程式碼

在需要函式庫和命令列介面(CLI) 的Go 專案中,經常會遇到以下問題在同一目錄中有多個包。

一個這樣的專案結構:

whatever.io/
    myproject/
        main.go
        myproject.go

套件 main 和 func main 對於在 Go 中啟動執行至關重要,而函式庫需要單獨的套件,例如套件 myproject。但是,在匯入此專案時,Go 編譯器可能會反對:

main.go:5:2: found packages myproject (myproject.go) and main (main.go) in $GOPATH/src/whatever.io/myproject

解決方案:巢狀套件

要解決此問題,請將這兩個套件放在與main 相同的目錄中的新資料夾中。去。請記得更新 import 語句以引用 $GOPATH 中的新套件。

例如:

whatever.io/
    myproject/
        library/
            myproject.go
        main.go

在main.go 中,如下導入庫包:

import "../library/myproject"

這種方法確保了庫和CLI 之間的明確分離,同時允許兩者駐留在同一目錄中。

其他注意

  • 將套件移到巢狀結構中不會影響任何一個套件的功能。
  • go run 和 go build 指令可用於測試和建置專案。
  • 有關 go build file.go 和 go build 之間差異的更多詳細信息,請參閱提供的連結。

以上是如何在同一目錄中組織一個庫和 CLI 的 Go 專案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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