Go語言開發 基本命令及使用

2021-08-21 23:44:28 字數 2947 閱讀 8617

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...