Golang Tools 介紹

luxixing發表於2019-02-16

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=:8080

    net/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 當前目錄下的包

相關文章