在Go 中,當專案駐留在GOPATH/src 中時,導入本地包可能會帶來挑戰目錄。這個問題探討了為什麼從 GOPATH/src 目錄匯入本機套件可能會失敗,但在移動到主目錄時會成功。
問題原因
遇到的錯誤嘗試從 GOPATH/src 導入本地包主要是由於使用了相對導入路徑。相對導入路徑提供了一種引用項目內包的便捷方法,但 Go 建置和安裝命令並不完全支援。
解決方案
解決此問題,建議避免使用相對導入路徑,而是遵循 Go 程式語言指南來建立程式碼。這涉及將程式碼組織到套件的層次結構中,每個套件都有自己的目錄,並使用絕對導入路徑來引用這些套件。
範例
考慮以下項目結構:
/usr/local/go/src/myproject - main.go - models - product.go
在此結構中,main.go 檔案可以使用絕對導入路徑導入模型包:
package main import ( "myproject/models" "fmt" "github.com/gin-gonic/gin" )
附加說明
透過遵循這些準則,您可以在 Go 中成功匯入本機套件,無論它們在 GOPATH 目錄中的位置為何。
以上是為什麼 Go 無法從 GOPATH/src 匯入本地包?的詳細內容。更多資訊請關注PHP中文網其他相關文章!