在說GOPATH之前,先說說GO語言的項目結構:
1、Go語言中組織單元最大的爲項目,項目下包含包。一個包可以有多個文件
2、包在物理層面上就是文件夾。同一個文件夾中多個文件的package必須相同,一般package和所在的文件夾名稱相同
3、Goland中的標準GO項目:
Src目錄:需要手動創建,和main.go是同一級別的目錄
Go語言必須要求配置GOPATH環境變量,告訴系統項目的路徑
Go編譯器在尋找包時的順序:GOPATH/src -----> GOROOT/src
GOPATH/src中未尋找到需要的包,纔到GOROOT/src目錄下尋找。一般在Goland這種IDE,只需要在IDE中配置GOPATH即可。
這讓我想起了從github上拉取下來的一個PlantUML項目,起初我死活是編譯通不過的。學習了GOPATH後我好想知道是爲什麼了。因爲我沒有配置GOPATH,並且是直接在命令行中使用 go build 構建,這能構建成功纔有鬼了。除非是在Goland中打開,IDE會提示進行配置,這尷尬的