使用者:九千鴉/Go
< User:九千鸦
命令行
Go的發行版(distribution)包含了一個名為 go
的命令函參數,用於下載、構建、安裝、測試Go包。
依賴管理
Go團隊一開始為了集中精力構建Go編譯器以及相關的包,故將自動構建的工作推遲了(即依賴管理)。新的go命令是為了,讓Go程序的在沒有任何配置以及任何操作之前,就可以進行編譯(即約定優於配置)。為了達到該目的,Go必須遵循某些約定:當我們啟動的時候,將要使用的他人上傳的Go包必須安裝在一個合適的地方,使用合適的名字,並且使用合適的工作進行構建。
Go團隊多年來提倡使用 go get
命令(goinstall
已被拋棄)與其約定。約定是,
- 通過導入路徑(import path)可以找到源代碼的URL地址。
- 源代碼存儲的路徑是根據導入路徑。
- 源代碼所在的目錄(directory)都對應着一個Go包。
- 只有通過使用源碼中的信息,才能構建包。
另外,Go命令並非一個泛用性的構建工具,它永遠不會去構建除Go包以外的內容。
導入路徑(import path)是由源代碼的URL所派生出來的,常見的源代碼倉庫有Bitbucket、GitHub、Google Code、Launchpad,這些倉庫的主URL用於識別根目錄,http://
前綴將被忽略。
源代碼存儲的路徑是根據導入路徑。源碼默認存放在 $GOPATH/src/<import-path>
中;當設置多個 $GOPATH
時,將會遍歷每一個類似的文件夾;當不設置 $GOPATH
時,源碼存放在 ~/go/src/<import-path>
。
https://github.com/golang/example --> $GOPATH/src/github.com/golang/example
概念
GOPATH
參考文獻