這些常用的 Go CLI 命令,新手 Gopher 應該掌握
本文將介紹一些最基本的 Go 命令行命令。如果你剛接觸 Go 語言,那你有必要記住它們,因為這些命令是 Go 開發(fā)者日常工作中所必備的。
Go version
開始 Go 項目前,我們應該確保開發(fā)機上已經安裝好了 Go 編譯器。
通過執(zhí)行以下命令可以查看安裝的 Go 版本信息。
Go env
如果我們可能想查看一些 Go 相關的環(huán)境變量,例如 GOROOT 或者 GOPATH。你可以執(zhí)行這個命令。
當你想對某個環(huán)境變量進行更改,例如修改 Go 代理,你可以這樣做。
go mod
在你開始建立第一個 Go 程序時,在項目根目錄下,你應該運行這樣的命令。
例如
此時,項目根目錄將增加 go.mod 文件,它的內容如下
如果你有其他語言的經驗,那么 go.mod 類似于 Python 中的 requirements.txt,Java 中的 pom.xml,它用于管理項目的依賴包。
go get
當項目中有引入外部庫,應該執(zhí)行 go get 命令。
例如我們需要使用日志庫 logrus,執(zhí)行以下命令會將該庫源代碼下載至 mod cache 中,并將在 go.mod 文件中記錄該庫的依賴情況。
go run/build
當我們已經編寫了一些 Go 代碼,并希望在本地運行它以查看程序表現(xiàn)是否符合預期。
當然,我們也可以使用 go build 命令。
兩種命令方式都需要編譯的過程,實質并無什么區(qū)別。go run只是將編譯得到的可執(zhí)行文件執(zhí)行后銷毀,而 go build 是將可執(zhí)行文件保留下來,并不直接執(zhí)行。
go test
如果你編寫了一堆單元測試代碼(在以_test.go 結尾的文件中),你想運行它們,只需要執(zhí)行以下語句。
go mod tidy
當項目中嘗試引入過多個三方包,而其中部分包我們并不需要了,那就應該從代碼依賴中刪除。
go vet
當完成了功能開發(fā)后,應該使用以下命令來幫助我們檢測程序中可能存在問題的代碼。更多 vet 知識可以查看文章Go工具之vet——靜態(tài)診斷器。
go fmt
當完成了功能開發(fā),準備提交代碼到公共倉庫。我們應該確保項目代碼遵循統(tǒng)一的官方代碼風格。
當然更好的方式其實是使用檢查套件,具體可以參見文章Gopher一定要會的代碼自動化檢查。
總結
Go 提供了非常多簡單又實用的命令行工具,本文僅介紹了一些在項目開發(fā)中最可能被用到的命令。
想獲取更多 Go 命令?可以執(zhí)行 $ go 或者 $ go tool 獲取命令列表,執(zhí)行 go help <command>可了解特定命令的更多信息。