Go語言的代碼被託管於 Github.com 網站,該網站是基於 Git 代碼管理工具的,不少有名的項目都在該網站託管代碼。其餘相似的託管網站還有 code.google.com、bitbucket.org 等。git
這些網站的項目包路徑都有一個共同的標準,參見下圖所示。github
go get 命令能夠藉助代碼管理工具經過遠程拉取或更新代碼包及其依賴包,並自動完成編譯和安裝。整個過程就像安裝一個 App 同樣簡單。安全
這個命令能夠動態獲取遠程代碼包,目前支持的有 BitBucket、GitHub、Google Code 和 Launchpad。在使用 go get 命令前,須要安裝與遠程包匹配的代碼管理工具,如 Git、SVN、HG 等,參數中須要提供一個包名。工具
這個命令在內部實際上分紅了兩步操做:第一步是下載源碼包,第二步是執行 go install。下載源碼包的 go 工具會自動根據不一樣的域名調用不一樣的源碼工具,對應關係以下:測試
參數介紹: 網站
-u | 用於下載指定的路徑包及其依賴包,默認狀況下,不會下載本地已經存在的,只會下載本地不存在的代碼包。就是口中常說的更新包 好比:go get -u github.com/jinzhu/gorm。會把最新的 gorm 包下載到你本地 |
-d | 此命令僅僅是下載路徑包,而不會進行安裝。即不會執行 go install 命令 |
-t | 讓命令程序同時下載並安裝指定的代碼包中的測試源碼文件中依賴的代碼包 |
-fix | 讓命令程序在下載代碼包後先執行修正動做,然後再進行編譯和安裝。好比,個人代碼是用1.7 開發的,如今go 版本已是1.13 了,有些包已經發生了變化,那麼咱們在使用go get命令的時候能夠加入-fix標記。這個標記的做用是在檢出代碼包以後,先對該代碼包中不符合Go語言1.7版本的語言規範的語法進行修正,而後再下載它的依賴包,最後再對它們進行編譯和安裝。 |
-insecure | 容許命令程序使用非安全的scheme(如HTTP)去下載指定的代碼包。若是你用的代碼倉庫(如公司內部的Gitlab)沒有HTTPS支持,能夠添加此標記。請在肯定安全的狀況下使用它。(記得 使用工具 git 時,有個版本就是 http 升級爲了https) |
-v | 打印出那些下載的代碼包的名字 |
-f | 僅在使用-u標記時纔有效。該標記會讓命令程序忽略掉對已下載代碼包的導入路徑的檢查。若是下載並安裝的代碼包所屬的項目是你從別人那裏Fork過來的,那麼這樣作就尤其重要了 |
-x | 打印出整個過程使用了哪些命令 |