成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

這些常用的 Go CLI 命令,新手 Gopher 應(yīng)該掌握

開發(fā) 開發(fā)工具
Go 提供了非常多簡(jiǎn)單又實(shí)用的命令行工具,本文僅介紹了一些在項(xiàng)目開發(fā)中最可能被用到的命令。想獲取更多 Go 命令?

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

Go version

開始 Go 項(xiàng)目前,我們應(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í)行這個(gè)命令。

$ go env

當(dāng)你想對(duì)某個(gè)環(huán)境變量進(jìn)行更改,例如修改 Go 代理,你可以這樣做。

$ go env -w GOPROXY=https://goproxy.io,direct

go mod

在你開始建立第一個(gè) Go 程序時(shí),在項(xiàng)目根目錄下,你應(yīng)該運(yùn)行這樣的命令。

$ go mod init <your project name>

例如

$ go mod init demo/firstProject

此時(shí),項(xiàng)目根目錄將增加 go.mod 文件,它的內(nèi)容如下

$ cat go.mod 
module demo/firstProject

go 1.18

如果你有其他語言的經(jīng)驗(yàn),那么 go.mod 類似于 Python 中的 requirements.txt,Java 中的 pom.xml,它用于管理項(xiàng)目的依賴包。

go get

當(dāng)項(xiàng)目中有引入外部庫(kù),應(yīng)該執(zhí)行 go get 命令。

$ go get <package name>

例如我們需要使用日志庫(kù) logrus,執(zhí)行以下命令會(huì)將該庫(kù)源代碼下載至 mod cache 中,并將在 go.mod  文件中記錄該庫(kù)的依賴情況。

$ 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 <name of binary> <packages>
$ ./<name of binary>

兩種命令方式都需要編譯的過程,實(shí)質(zhì)并無什么區(qū)別。go run只是將編譯得到的可執(zhí)行文件執(zhí)行后銷毀,而 go build 是將可執(zhí)行文件保留下來,并不直接執(zhí)行。

go test

如果你編寫了一堆單元測(cè)試代碼(在以_test.go 結(jié)尾的文件中),你想運(yùn)行它們,只需要執(zhí)行以下語句。

$ go test

go mod tidy

當(dāng)項(xiàng)目中嘗試引入過多個(gè)三方包,而其中部分包我們并不需要了,那就應(yīng)該從代碼依賴中刪除。

$ go mod tidy

go vet

當(dāng)完成了功能開發(fā)后,應(yīng)該使用以下命令來幫助我們檢測(cè)程序中可能存在問題的代碼。更多 vet 知識(shí)可以查看文章Go工具之vet——靜態(tài)診斷器。

$ go vet

go fmt

當(dāng)完成了功能開發(fā),準(zhǔn)備提交代碼到公共倉(cāng)庫(kù)。我們應(yīng)該確保項(xiàng)目代碼遵循統(tǒng)一的官方代碼風(fēng)格。

$ go fmt

當(dāng)然更好的方式其實(shí)是使用檢查套件,具體可以參見文章Gopher一定要會(huì)的代碼自動(dòng)化檢查。

總結(jié)

Go 提供了非常多簡(jiǎn)單又實(shí)用的命令行工具,本文僅介紹了一些在項(xiàng)目開發(fā)中最可能被用到的命令。

想獲取更多 Go 命令?可以執(zhí)行 $ go 或者 $ go tool 獲取命令列表,執(zhí)行 go help <command>可了解特定命令的更多信息。

責(zé)任編輯:武曉燕 來源: Golang技術(shù)分享
相關(guān)推薦

2010-07-02 09:17:29

技能運(yùn)維人員

2011-02-16 09:26:49

2019-12-24 16:52:22

Go語言騰訊TM函數(shù)

2023-11-10 11:06:36

Linux命令

2023-09-11 10:06:11

Linux命令

2021-04-27 15:28:32

程序員技能開發(fā)者

2018-05-03 08:45:58

Linux命令

2020-11-20 06:50:19

Linux命令運(yùn)維

2022-04-19 09:38:20

Kubernetes云原生容器

2020-01-27 16:28:57

開發(fā)命令遠(yuǎn)程服務(wù)器

2023-04-07 16:11:56

前端開發(fā)

2022-08-23 12:21:50

Linux命令

2010-02-04 16:56:24

2009-11-26 13:57:24

Cisco路由器命令

2023-08-31 07:33:41

GopherCarolexcel

2016-06-22 09:30:58

Linux命令新手

2020-02-11 12:17:53

開發(fā)命令

2023-10-06 22:43:53

cronLinux系統(tǒng)

2025-07-03 07:59:22

tcpdump網(wǎng)絡(luò)抓包網(wǎng)絡(luò)

2010-08-02 16:20:31

ICMP協(xié)議
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产一区高清 | 亚洲成人网在线 | 久久国产精品视频免费看 | 国产免费一区二区三区 | 中文字幕1区2区3区 亚洲国产成人精品女人久久久 | 欧美一区二区三区精品免费 | www.天天操.com | 中文字幕精品一区 | 国产亚洲一区二区三区 | 手机看片在线播放 | 免费污视频 | 人人干人人舔 | 欧美在线视频网站 | 成人a视频 | 国产欧美综合在线 | 国产三级一区二区 | 成人av一区| 97影院2| 美女露尿口视频 | 国产中的精品av涩差av | 精品在线观看入口 | 国产精品明星裸体写真集 | 国产小视频在线观看 | 一区二区三区免费 | 精品人伦一区二区三区蜜桃网站 | 草草视频在线免费观看 | 日韩在线电影 | 日韩av在线一区二区 | 先锋资源站 | 希岛爱理在线 | 91热爆在线观看 | 国产美女精品视频免费观看 | 国产在线观看 | 国产精品久久久久久久一区二区 | 久久国产精品视频 | 欧美1区 | 亚洲一区二区视频 | 狠狠干天天干 | 国产日韩欧美中文字幕 | 日本超碰在线 | 欧美激情国产日韩精品一区18 |