本文将介绍一些最基本的 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>
可了解特定命令的更多信息。
往期推荐
机器铃砍菜刀
欢迎添加小菜刀微信
加入Golang分享群学习交流!
感谢你的点赞和在看哦~