在 Go 中本地化代碼包時,導入它們可能是一個挑戰。此問題探討了開發人員在嘗試使用相對路徑匯入本機套件時遇到錯誤的問題。
在提供的範例中,開發人員嘗試從 /home/me/go/ 匯入本機套件 common 和 router使用相對導入語句的 src/myapp 目錄。但是,這些導入失敗,並出現錯誤,表示非本地包中不允許本地導入。
此外,當使用不帶相對路徑的套件名稱時,編譯器報告找不到套件。
解決方案在於了解 Go 的導入路徑。預設情況下,Go 從 $HOME/go/src 開始其導入搜尋路徑。這意味著套件必須直接位於此目錄下或子目錄中。
在這種情況下,本地包 common 和 router 不會直接放置在 $HOME/go/src 下。為了解決導入問題,開發者需要在套件導入路徑前新增專案名稱 myapp。
因此,正確的導入語句應該是:
import ( "log" "net/http" "myapp/common" "myapp/routers" )
經過此修改, Go導入路徑將正確解析為本地包並消除錯誤。
以上是Go中如何使用相對路徑正確匯入本機套件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!