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 目錄下的所有專案中的程式碼註釋中生成文件
它有兩個介面
-
web
Usage: godoc –http=:8080net/http 包的文件可以通過 localhost:8080/pkg/net/http 檢視。godoc 可以直接檢視 go的標準庫文件
使用 godoc -v 可以檢視 godoc啟動掃描詳情 -
命令列
Usage: godoc net/http在終端輸出 net/http 的文件
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
- 構建時間(整個應用+依賴庫,編譯為一個二進位制檔案)
- 交叉編譯(跨平臺)
```sh
env GOOS=darwin GOARCH=386 go build -o tasks.app
env GOOS=windows GOARCH=386 go build -o tasks.exe
env GOOS=linux GOARCH=amd64 go build -o tasks
```
go install
go run
在命令列直接執行應用的入口檔案或者直接執行某個檔案,會自動編譯(編譯後檔案在臨時目錄,執行結束會自動刪除)
go get
go 內建的 package 管理工具,可以直接從 github 等程式碼管理站點獲取包,但是功能太簡單了
go clean
清理 編譯後生成的檔案,包含如下內容
_obj/
_test/
_testmain.go
test.out
build.out
*.[568ao]
DIR(.exe)
IDR . test(.exe)
MAINFILE(*.exe)
其他常見命令
- go fix
- go version 獲取 go 安裝包版本
- go env 獲取 golang 環境變數
- go list 當前目錄下的包