go常用命令

2021-08-21 12:26:40 字數 2706 閱讀 2008

go build

主要用於編譯**。在包的編譯過程中,若有必要,會同時編譯與之相關聯的包。

如果是main包,當你執行go build之後,它就會在當前目錄下生成乙個可執行檔案。如果你需要在$gopath/bin下生成相應的檔案,需要執行go install,如果某個專案資料夾下有多個檔案,而你只想編譯某個檔案,就可在go build之後加上檔名,例如go build a.go;go build命令缺省會編譯當前目錄下的所有go檔案。

引數的介紹

-o 指定輸出的檔名,可以帶上路徑,例如 go build -o a/b/c

-i 安裝相應的包,編譯+go install

-a 更新全部已經是最新的包的,但是對標準包不適用

-n 把需要執行的編譯命令列印出來,但是不執行,這樣就可以很容易的知道底層是如何執行的

-p n 指定可以並行可執行的編譯數目,預設是cpu數目

-race 開啟編譯的時候自動檢測資料競爭的情況,目前只支援64位的機器

-v 列印出來我們正在編譯的包名

-work 列印出來編譯時候的臨時資料夾名稱,並且如果已經存在的話就不要刪除

-x 列印出來執行的命令,其實就是和-n的結果類似,只是這個會執行

-ccflags 'arg list' 傳遞引數給5c, 6c, 8c 呼叫

-compiler name 指定相應的編譯器,gccgo還是gc

-gccgoflags 'arg list' 傳遞引數給gccgo編譯連線呼叫

-gcflags 'arg list' 傳遞引數給5g, 6g, 8g 呼叫

-installsuffix suffix 為了和預設的安裝包區別開來,採用這個字首來重新安裝那些依賴的包,-race的時候預設已經是-installsuffix race,大家可以通過-n命令來驗證

-ldflags 'flag list' 傳遞引數給5l, 6l, 8l 呼叫

-tags 'tag list' 設定在編譯的時候可以適配的那些tag,詳細的tag限制參考裡面的 build constraints

這個命令是用來移除當前原始碼包和關聯原始碼包裡面編譯生成的檔案。

引數介紹

-i 清除關聯的安裝的包和可執行檔案,也就是通過go install安裝的檔案

-n 把需要執行的清除命令列印出來,但是不執行,這樣就可以很容易的知道底層是如何執行的

-r 迴圈的清除在import中引入的包

-x 列印出來執行的詳細命令,其實就是-n列印的執行版本

這個命令是用來動態獲取遠端**包的,目前支援的有bitbucket、github、google code和launchpad。

bitbucket (mercurial git) 

github (git) 

google code project hosting (git, mercurial, subversion) launchpad (bazaar)

所以為了go get 能正常工作,你必須確保安裝了合適的原始碼管理工具,並同時把這些命令加入你的path中。其實go get支援自定義網域名稱的功能,具體參見go help remote。

引數介紹:

-f 只有在你包含了-u引數的時候才有效,不讓-u去驗證import中的每乙個都已經獲取了,這對於本地fork的包特別有用

-fix 在獲取原始碼之後先執行fix,然後再去做其他的事情

-u 強制使用網路去更新包和它的依賴包

-v 顯示執行的命令

這個命令在內部實際上分成了兩步操作:第一步是生成結果檔案(可執行檔案或者.a包),第二步會把編譯好的結果移到$gopath/pkg或者$gopath/bin。

引數支援go build的編譯引數。大家只要記住乙個引數-v就好了,這個隨時隨地的可以檢視底層的執行資訊。

godoc

go內部提供乙個很強大的文件工具。

通過命令在命令列執行 godoc -http=:埠號 比如godoc -http=:8080。然後在瀏覽器中開啟127.0.0.1:8080,你將會看到乙個golang.org的本地copy版本,通過它你可以查詢pkg文件等其它內容。如果你設定了gopath,在pkg分類下,不但會列出標準包的文件,還會列出你本地gopath中所有專案的相關文件,這對於經常被牆的使用者來說是乙個不錯的選擇。

其它命令

go還提供了其它很多的工具,例如下面的這些工具

go version 檢視go當前的版本 

go env 檢視當前go的環境變數 

go list 列出當前全部安裝的package

go run 編譯並執行go程式

使用者可以使用go help 命令獲取更詳細的幫助資訊。

Go常用命令之go build

共享標記 build clean get install list run test 不常用標記 用於編譯原始碼檔案或 包,編譯非命令原始碼檔案不會產生結果檔案,它只會檢查原始碼檔案的有效性。o指定構建生成的可執行檔案或物件的輸出目錄及可執行檔名。但需要注意的時,當使用 o標記時,不能同時對多個 包...

docker常用命令 Docker 常用命令筆錄

格式docker run 選項 映象 命令 引數.示例docker run it rm ubuntu 16.04 bash 示例解釋 it 這是兩個引數,乙個是 i,表示互動式操作,乙個是 t表示終端 rm 這個引數是說容器退出後隨之將其刪除 ubuntu 16.04 這是指用ubuntu 16.0...

常用命令 Git 常用命令大全

安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...