這些最常用的 Go 工具集命令,新手 Gopher 一定要掌握
本文將介紹一些最基本的 Go 命令行命令。如果你剛接觸 Go 語言,那你有必要記住它們,因爲這些命令是 Go 開發者日常工作中所必備的。
Go version
開始 Go 項目前,我們應該確保開發機上已經安裝好了 Go 編譯器。這可以通過 https://go.dev/doc/install 進行下載安裝,如果有多版本安裝需求可以參考文章簡潔的 Go 多版本管理機制。
通過執行以下命令可以查看安裝的 Go 版本信息。
$ go version
go version go1.18 darwin/amd64
Go env
如果我們可能想查看一些 Go 相關的環境變量,例如 GOROOT 或者 GOPATH。你可以執行這個命令。
$ go env
當你想對某個環境變量進行更改,例如修改 Go 代理,你可以這樣做。
$ go env -w GOPROXY=https://goproxy.io,direct
go mod
在你開始建立第一個 Go 程序時,在項目根目錄下,你應該運行這樣的命令。
$ go mod init <your project name>
例如
$ go mod init demo/firstProject
此時,項目根目錄將增加 go.mod 文件,它的內容如下
$ cat go.mod
module demo/firstProject
go 1.18
如果你有其他語言的經驗,那麼 go.mod 類似於 Python 中的 requirements.txt,Java 中的 pom.xml,它用於管理項目的依賴包。
go get
當項目中有引入外部庫,應該執行 go get 命令。
$ go get <package name>
例如我們需要使用日誌庫 logrus,執行以下命令會將該庫源代碼下載至 mod cache 中,並將在 go.mod 文件中記錄該庫的依賴情況。
$ go get github.com/sirupsen/logrus
$ cat go.mod
module demo/firstProject
go 1.18
require (
github.com/sirupsen/logrus v1.9.0 // indirect
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 // indirect
)
go run/build
當我們已經編寫了一些 Go 代碼,並希望在本地運行它以查看程序表現是否符合預期。
$ go run .
當然,我們也可以使用 go build 命令。
$ go build -o <name of binary> <packages>
$ ./<name of binary>
兩種命令方式都需要編譯的過程,實質並無什麼區別。go run 只是將編譯得到的可執行文件執行後銷燬,而 go build 是將可執行文件保留下來,並不直接執行。
go test
如果你編寫了一堆單元測試代碼(在以_test.go
結尾的文件中),你想運行它們,只需要執行以下語句。
$ go test
go mod tidy
當項目中嘗試引入過多個三方包,而其中部分包我們並不需要了,那就應該從代碼依賴中刪除。
$ go mod tidy
go vet
當完成了功能開發後,應該使用以下命令來幫助我們檢測程序中可能存在問題的代碼。更多 vet 知識可以查看文章 Go 工具之 vet——靜態診斷器。
$ go vet
go fmt
當完成了功能開發,準備提交代碼到公共倉庫。我們應該確保項目代碼遵循統一的官方代碼風格。
$ go fmt
當然更好的方式其實是使用檢查套件,具體可以參見文章 Gopher 一定要會的代碼自動化檢查。
總結
Go 提供了非常多簡單又實用的命令行工具,本文僅介紹了一些在項目開發中最可能被用到的命令。
想獲取更多 Go 命令?可以執行 $ go
或者 $ go tool
獲取命令列表,執行 go help <command>
可瞭解特定命令的更多信息。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/ibnPIT-imm1K55H5iX7XTg