go command [arg]
其中,command是操作命令,arg是該命令的引數。
go的常用命令有:get、run、build、fmt、install、test等
go get 命令主要是用來動態獲取遠端**包的,目前支援的有bitbucket、github、google code和launchpad。這個命令在內部實際上分成了兩步操作:
第二步是執行go install。
從github上安裝gocode,(-u flag for 「update」)
go get -u github.com/nsf/gocode
為了go get 能正常工作,你必須確保安裝了合適的原始碼管理工具,並同時把這些命令加入你的path中。其實go get支援自定義網域名稱的功能,具體參見go help remote。
go get 命令本質上可以理解為:首先通過原始碼工具clone**到src目錄,然後執行go install。
go build 命令用於測試編譯包,可檢查是否存在編譯錯誤。在包的編譯過程中,若有必要,會同時編譯與之相關聯的包。如果被編譯的是main包,會生成可執行檔案。
#編譯
go build hello.go
#執行./hello
如果是普通包,當你執行go build命令後,不會產生任何檔案。
如果是main包,當只執行go build命令後,會在當前目錄下生成乙個可執行檔案。如果需要在$gopath/bin木下生成相應的exe檔案,需要執行go install 或者使用 go build -o 路徑/a.exe。
如果某個資料夾下有多個檔案,而你只想編譯其中某乙個檔案,可以在 go build 之後加上檔名,例如 go build a.go;go build 命令缺省會編譯當前目錄下的所有go檔案。
go build 會忽略目錄下以」_」或者」.」開頭的go檔案。
如果你的源**針對不同的作業系統需要不同的處理,那麼你可以根據不同的作業系統字尾來命名檔案
go run 命令用於編譯並直接執行程式,它會生成乙個臨時檔案(但不是乙個標準的可執行檔案),直接在命令列列印輸出程式執行結果,方便使用者除錯。
go run hello.go
go fmt 格式化原始碼,有的ide儲存原始碼時自動執行該命令,比如subl,也可手動執行它。
go fmt hello.go
比如我們寫了乙個格式很糟糕的 test.go 檔案,我們只需要使用 fmt go test.go 命令,就可以讓go幫我們格式化我們的**檔案。但是我們一般很少使用這個命令,因為我們的開發工具一般都帶有儲存時自動格式化功能,這個功能底層其實就是呼叫了 go fmt 命令而已。
使用go fmt命令,更多時候是用gofmt,而且需要引數-w,否則格式化結果不會寫入檔案。gofmt -w src,可以格式化整個專案。
go install 命令的作用有兩步:
.a應用包: 一般是 go install 不包含main函式的go檔案產生的,沒有函式入口,只能被呼叫。
.exe檔案: 一般是 go install 帶main函式的go檔案產生的,有函式入口,所有可以直接執行。
go test命令用於執行測試檔案,該命令會自動讀取原始碼目錄下的名為:*_test.go的檔案,生成並執行測試用的可執行檔案,測試成功會顯示「pass」、「ok」等資訊。
預設的情況下,不需要任何的引數,它會自動把你原始碼包下面所有test檔案測試完畢,當然你也可以帶上引數,詳情請參考go help testflag
go clean 命令是用來移除當前原始碼包裡面編譯生成的檔案,這些檔案包括
1 _obj/ 舊的object目錄,由makefiles遺留
2 _test/ 舊的test目錄,由makefiles遺留
3 _testmain.go 舊的gotest檔案,由makefiles遺留
4 test.out 舊的test記錄,由makefiles遺留
5 build.out 舊的test記錄,由makefiles遺留
6 *.[568ao] object檔案,由makefiles遺留
7 dir(.exe) 由 go build 產生
8 dir.test(.exe) 由 go test -c 產生
9 mainfile(.exe) 由 go build mainfile.go產生
go提供godoc命令,幫助使用者檢視文件,可以檢視函式或者包。例如:godoc builtin 用於查詢go內建函式,godoc fmt println,該命令就查詢了fmt包中的println函式,檢視相應的**,執行godoc -src fmt printf;
有時,使用者會覺得在命令列下檢視go文件會比較麻煩,為此go提供了乙個內建命令:
godoc -http=:8080
該命令可讓使用者在本地localhost的8080埠,以網頁的形式檢視go幫助文件,所以訪問: 你將會看到乙個golang.org的本地copy版本,通過它你可以查詢pkg文件等其它內容。如果你設定了gopath,在pkg分類下,不但會列出標準包的文件,還會列出你本地gopath中所有專案的相關文件,這對於經常被限制訪問的使用者來說是乙個不錯的選擇。
go env: 檢視當前使用者的go環境變數
go fix: 用來修復以前老版本的**到新版本
go list: 列出當前全部安裝的packge
go version: 檢視當前go版本
go語言約定,在安裝成功後,至少要在gopath目錄下建立三個工作目錄:bin、pkg、src
這裡的工作目錄就是指我們存放源**、函式呼叫、資料匯入的預設路徑。
bin: 存放編譯後生成的可執行檔案
pkg: 存放編譯後生成的包檔案(.a 檔案)
src: 存放專案原始碼檔案(.go 檔案)
end
Go 基本命令
go build 如果是main包,當你執行go build之後,它就會在當前目錄下生成乙個可執行檔案。如果你需要在 gopath bin下生成相應的檔案,需要執行go install,或者使用go build o 路徑 a.exe。如果某個專案資料夾下有多個檔案,而你只想編譯某個檔案,就可在go ...
go基本命令
go1.9後預設利用go語言的併發特性進行函式粒度的併發編譯。go語言的程式編寫基本以原始碼方式,無論是自己的 還是三方 並且以gopath作為工作目錄和一套完整的工程目錄規則。主要用於編譯 在包的編譯過程中,若有必要,會同時編譯與之相關聯的包。無引數編譯 檔案列表編譯 指定包編譯 使用這些方法都可...
06 Go語言基本命令
以windows為例,在dos視窗輸入go 1 go is a tool for managing go source code.2usage 3go command arguments 4the commands are 5 build compile packages and dependenc...