Go命令是管理Go資源的工具
有一些命令是非常常用的,比如 run、build、get、test、get,有一些命令在使用IDE後很少會用到,IDE代勞了,比如fmt、vet。
把所有命令列出來,瞭解一下這些命令的用途,對寫程式碼很有幫助
看看有沒有你還沒用過的命令吧!
常規用法:
go <命令> [引數]複製程式碼
命令:
- bug :建立一個bug報告
執行完命令後,會用瀏覽器訪問github.com/golang/go 的issue。自動填寫一些內容,引導你如何提交一個bug報告 - build:編譯包以及其依賴
最常用的命令之一。預設情況下,會在命令所在目錄生成一個當前作業系統對應的可執行檔案。安裝完整版的Go環境,可以交叉編譯其他作業系統的二進位制可執行檔案 - clean:清空物件檔案和快取檔案
前面提到的build命令和下面的test命令會生成一些檔案和目錄,clean會清理掉這些檔案,包括build命令生成可執行檔案 - doc:列印包中的文件和標記符
列印出包或指定檔案的說明文件,加上-all 引數,可以看到包裡的所有函式列表和文件。
建立一個go檔案,寫入一下程式碼
/*
這是一個範例
*/
package main
import "fmt"
//main 主函式
func main() {
SayHi()
}
//SayHi 列印字串Hello world
func SayHi() {
fmt.Println("Hello world!!")
}複製程式碼
執行命令
go doc -all -u複製程式碼
- env :列印出你現在的Go環境資訊
檢視各個go的開發環境引數,忘記GOPATH和GOROOT路徑就可以用這個列印出來了
- fix:用go的新版本的API更新
go fix [packages]複製程式碼
如果你升級了go,擔心以前的程式碼不相容,那麼就可以用 go fix
- fmt:自動格式化程式碼檔案
go的程式碼格式標準是唯一的,用go fmt可以格式化程式碼檔案,很多IDE就是呼叫這個命令來在儲存檔案時調整格式。 - generate:可以執行指令,包括生成和更新go原始碼檔案的指令
查詢當前包相關的原始碼檔案,找出所有包含”//go:generate”的註釋,提取並執行該特殊註釋後面的命令,類似shell執行命令。
例子裡只是呼叫了系統的echo指令,列印字串,實際用途可以用generate生成go的類檔案。(可能需要寫一個小例子來說明其用途,日後的文章中再具體研究吧。)
- get :下載和安裝go包以及其依賴包的命令
go get <包的路徑>複製程式碼
- install:編譯和安裝包及其依賴包
可執行檔案會被安裝在$GOPATH/bin目錄下。 - list :列出目錄下的所有包和模組,每行一個。
- mod :詳細內容可以參考文章: 拜拜了,GOPATH君!新版本Golang的包管理入門教程
- run : 執行go專案
非常常用。
它會編譯包,然後直接執行起來,不會在當前目錄生成二進位制檔案。 - test:執行除錯
用於執行_text.go檔案中的Test開頭並且引數為 *testing.T的函式
- tool :執行指定的go工具
- version:檢視當前go版本
- vet:檢視包中可能出現的錯誤
例如,給整型%d佔位符提供一個字串引數,就會檢查出型別錯誤,但是這個程式碼編譯是不會報錯的。
總結
這些命令大部分使用起來都很簡單,想了解更多可以執行go help [命令名]檢視詳細說明。
也有一些命令使用起來是需要花點時間學習的,比如 generate、test、mod,如果有想要了解更多關於Go語言開發的同學,可以在評論區或私信告訴我們,一起學習一起討論。
“曉程式碼”公眾號: