文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

这些常用的 Go CLI 命令,新手 Gopher 应该掌握

2024-12-01 12:18

关注

Go version

开始 Go 项目前,我们应该确保开发机上已经安装好了 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 可了解特定命令的更多信息。

来源:Golang技术分享内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯