這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
Golang Tools 介紹
go 安裝之後內建了很多工具以協助開發
gofmt
Usage:
gofmt main.go :格式化 main.go 檔案的源碼輸出到終端
gofmt -w main.go :格式化 main.go 檔案並回寫到原檔案
gofmt -w Tasks :格式化 Tasks 目錄下的所有檔案並且將格式化內容儲存到對應源檔案
當提交原始碼的時候,強烈推薦使用 gofmt 去格式化源碼
godoc
godoc 會從$GOROOT目錄下的標準庫(library)和$GOPATH/src 目錄下的所有項目中的代碼注釋中產生文檔
它有兩個介面
go test
golang 內建 testing 支援。舉個例子,假設在同一個package(目錄),有個檔案 file.go,則測試檔案為 file_test.go,golang 的編譯器會忽略 file_test.go,只編譯 file.go,運行 gotest 的時候執行 file_test.go 裡面的用例
go build
通過執行 go build構建應用程式,編譯器會把所有 *.go 除了*_test.go 進行編譯。
如果想給編譯的檔案指定名稱,使用 go build -o tasks
- 構建時間(整個應用+依賴庫,編譯為一個二進位檔案)- 交叉編譯(跨平台)```shenv GOOS=darwin GOARCH=386 go build -o tasks.appenv GOOS=windows GOARCH=386 go build -o tasks.exeenv GOOS=linux GOARCH=amd64 go build -o tasks```
go install
go run
在命令列直接運行應用的入口檔案或者直接執行某個檔案,會自動編譯(編譯後檔案在臨時目錄,運行結束會自動刪除)
go get
go 內建的 package 管理工具,可以直接從 github 等代碼管理網站擷取包,但是功能太簡單了
go clean
清理 編譯後產生的檔案,包含如下內容
_obj/_test/_testmain.gotest.outbuild.out*.[568ao]DIR(.exe)IDR . test(.exe)MAINFILE(*.exe)
其他常見命令
- go fix
- go version 擷取 go 安裝包版本
- go env 擷取 golang 環境變數
- go list 目前的目錄下的包