使用者:九千鴉/Go


命令行

Go的發行版(distribution)包含了一個名為 go 的命令函參數,用於下載、構建、安裝、測試Go包。

依賴管理

Go團隊一開始為了集中精力構建Go編譯器以及相關的包,故將自動構建的工作推遲了(即依賴管理)。新的go命令是為了,讓Go程序的在沒有任何配置以及任何操作之前,就可以進行編譯(即約定優於配置)。為了達到該目的,Go必須遵循某些約定:當我們啟動的時候,將要使用的他人上傳的Go包必須安裝在一個合適的地方,使用合適的名字,並且使用合適的工作進行構建。

Go團隊多年來提倡使用 go get命令(goinstall 已被拋棄)與其約定。約定是,

  1. 通過導入路徑(import path)可以找到源代碼的URL地址。
  2. 源代碼存儲的路徑是根據導入路徑。
  3. 源代碼所在的目錄(directory)都對應着一個Go包。
  4. 只有通過使用源碼中的信息,才能構建包。

另外,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

參考文獻