新聞中心
本文將介紹一些最基本的 Go 命令行命令。如果你剛接觸 Go 語言,那你有必要記住它們,因為這些命令是 Go 開發(fā)者日常工作中所必備的。

我們提供的服務(wù)有:做網(wǎng)站、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、碌曲ssl等。為上1000家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的碌曲網(wǎng)站制作公司
Go version
開始 Go 項目前,我們應(yīng)該確保開發(fā)機(jī)上已經(jīng)安裝好了 Go 編譯器。
通過執(zhí)行以下命令可以查看安裝的 Go 版本信息。
$ go version
go version go1.18 darwin/amd64
Go env
如果我們可能想查看一些 Go 相關(guān)的環(huán)境變量,例如 GOROOT 或者 GOPATH。你可以執(zhí)行這個命令。
$ go env
當(dāng)你想對某個環(huán)境變量進(jìn)行更改,例如修改 Go 代理,你可以這樣做。
$ go env -w GOPROXY=https://goproxy.io,direct
go mod
在你開始建立第一個 Go 程序時,在項目根目錄下,你應(yīng)該運(yùn)行這樣的命令。
$ go mod init
例如
$ go mod init demo/firstProject
此時,項目根目錄將增加 go.mod 文件,它的內(nèi)容如下
$ cat go.mod
module demo/firstProject
go 1.18
如果你有其他語言的經(jīng)驗,那么 go.mod 類似于 Python 中的 requirements.txt,Java 中的 pom.xml,它用于管理項目的依賴包。
go get
當(dāng)項目中有引入外部庫,應(yīng)該執(zhí)行 go get 命令。
$ go get
例如我們需要使用日志庫 logrus,執(zhí)行以下命令會將該庫源代碼下載至 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
當(dāng)我們已經(jīng)編寫了一些 Go 代碼,并希望在本地運(yùn)行它以查看程序表現(xiàn)是否符合預(yù)期。
$ go run .
當(dāng)然,我們也可以使用 go build 命令。
$ go build -o
$ ./
兩種命令方式都需要編譯的過程,實質(zhì)并無什么區(qū)別。go run只是將編譯得到的可執(zhí)行文件執(zhí)行后銷毀,而 go build 是將可執(zhí)行文件保留下來,并不直接執(zhí)行。
go test
如果你編寫了一堆單元測試代碼(在以_test.go 結(jié)尾的文件中),你想運(yùn)行它們,只需要執(zhí)行以下語句。
$ go test
go mod tidy
當(dāng)項目中嘗試引入過多個三方包,而其中部分包我們并不需要了,那就應(yīng)該從代碼依賴中刪除。
$ go mod tidy
go vet
當(dāng)完成了功能開發(fā)后,應(yīng)該使用以下命令來幫助我們檢測程序中可能存在問題的代碼。更多 vet 知識可以查看文章Go工具之vet——靜態(tài)診斷器。
$ go vet
go fmt
當(dāng)完成了功能開發(fā),準(zhǔn)備提交代碼到公共倉庫。我們應(yīng)該確保項目代碼遵循統(tǒng)一的官方代碼風(fēng)格。
$ go fmt
當(dāng)然更好的方式其實是使用檢查套件,具體可以參見文章Gopher一定要會的代碼自動化檢查。
總結(jié)
Go 提供了非常多簡單又實用的命令行工具,本文僅介紹了一些在項目開發(fā)中最可能被用到的命令。
想獲取更多 Go 命令?可以執(zhí)行 $ go 或者 $ go tool 獲取命令列表,執(zhí)行 go help
網(wǎng)頁題目:這些常用的GoCLI命令,新手Gopher應(yīng)該掌握
當(dāng)前URL:http://www.dlmjj.cn/article/djogpdo.html


咨詢
建站咨詢
