本文将介绍一些最基本的 Go 命令行命令。如果你刚接触 Go 语言,那你有必要记住它们,因为这些命令是 Go 开发者日常工作中所必备的。
Go version
开始 Go 项目前,我们应该确保开发机上已经安装好了 Go 编译器。
通过执行以下命令可以查看安装的 Go 版本信息。
Go env
如果我们可能想查看一些 Go 相关的环境变量,例如 GOROOT 或者 GOPATH。你可以执行这个命令。
当你想对某个环境变量进行更改,例如修改 Go 代理,你可以这样做。
go mod
在你开始建立第一个 Go 程序时,在项目根目录下,你应该运行这样的命令。
例如
此时,项目根目录将增加 go.mod 文件,它的内容如下
如果你有其他语言的经验,那么 go.mod 类似于 Python 中的 requirements.txt,Java 中的 pom.xml,它用于管理项目的依赖包。
go get
当项目中有引入外部库,应该执行 go get 命令。
例如我们需要使用日志库 logrus,执行以下命令会将该库源代码下载至 mod cache 中,并将在 go.mod 文件中记录该库的依赖情况。
go run/build
当我们已经编写了一些 Go 代码,并希望在本地运行它以查看程序表现是否符合预期。
当然,我们也可以使用 go build 命令。
两种命令方式都需要编译的过程,实质并无什么区别。go run只是将编译得到的可执行文件执行后销毁,而 go build 是将可执行文件保留下来,并不直接执行。
go test
如果你编写了一堆单元测试代码(在以_test.go 结尾的文件中),你想运行它们,只需要执行以下语句。
go mod tidy
当项目中尝试引入过多个三方包,而其中部分包我们并不需要了,那就应该从代码依赖中删除。
go vet
当完成了功能开发后,应该使用以下命令来帮助我们检测程序中可能存在问题的代码。更多 vet 知识可以查看文章Go工具之vet——静态诊断器。
go fmt
当完成了功能开发,准备提交代码到公共仓库。我们应该确保项目代码遵循统一的官方代码风格。
当然更好的方式其实是使用检查套件,具体可以参见文章Gopher一定要会的代码自动化检查。
总结
Go 提供了非常多简单又实用的命令行工具,本文仅介绍了一些在项目开发中最可能被用到的命令。
想获取更多 Go 命令?可以执行 $ go 或者 $ go tool 获取命令列表,执行 go help <command>可了解特定命令的更多信息。