GOROOT 和 GOPATH

在我們以前熟悉的各種語言中都有這樣幾個概念: 系統路徑,官方包路徑,第三方包路徑,項目路徑。

好了go中只有兩個路徑.

GOROOT: go的安裝路徑,官方包路徑根據這個設置自動匹配

GOPATH: 工作路徑(其實不應該用中文翻譯解釋,直接說GOPATH更合適)

問題:項目路徑和第三方包路徑呢? 首先:go中是沒有項目這個概念的,只有包。可執行包只是特殊的一種,類似我們常說的項目 GOPATH可以設置多個,不管是可執行包,還是非可執行包,通通都應該在某個 $GOPATH/src下。

如果你這樣做了,那麼就不會出現本地包這種寫法了

<!-- lang: cpp -->import "./pathtopackage"

比如你可以把你的可執行(項目)包,安放在某個 $GOPATH/src下,例如 $GOPATH/src/app/youpackagedir

這樣本地包的import就變成

<!-- lang: cpp -->import "app/yourpackagedir/subpackage"

這樣有什麼用呢?

  1. 可以使用 go install 你的子包,有利於go build的時間,如果子包較大,那就更明顯了

  2. go code的自動完成可以用了


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章