脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - 这些常用的 Go CLI 命令,新手 Gopher 应该掌握

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

2022-11-08 20:32Golang技术分享机器铃砍菜刀 Golang

本文将介绍一些最基本的 Go 命令行命令。如果你刚接触 Go 语言,那你有必要记住它们,因为这些命令是 Go 开发者日常工作中所必备的。

本文将介绍一些最基本的 Go 命令行命令。如果你刚接触 Go 语言,那你有必要记住它们,因为这些命令是 Go 开发者日常工作中所必备的。

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

 
可了解特定命令的更多信息。

原文地址:https://mp.weixin.qq.com/s/kyGNVNDby5uq5JGfQt4Yrg

延伸 · 阅读

精彩推荐
  • Golanggolang中单向channel的语法介绍

    golang中单向channel的语法介绍

    通过消息来共享数据是golang的一种设计哲学,channel则是这种哲理的体现。下面这篇文章主要给大家介绍了关于golang中单向channel语法的相关资料,文中通过...

    鱼儿5022020-05-08
  • GolangGo语言多值替换的HTML模板实例分析

    Go语言多值替换的HTML模板实例分析

    这篇文章主要介绍了Go语言多值替换的HTML模板,实例分析了Go语言多值替换与数组迭代的技巧,具有一定参考借鉴价值,需要的朋友可以参考下 ...

    pythoner3582020-04-19
  • Golanggolang通过mysql语句实现分页查询

    golang通过mysql语句实现分页查询

    这篇文章主要介绍了golang通过mysql语句实现分页查询,文章内容介绍详细,具有一定的参考价值,需要的小伙伴可以参考一下,希望对你的学习有所帮助...

    峰啊疯了10742022-09-09
  • GolangGO语言字符串处理Strings包的函数使用示例讲解

    GO语言字符串处理Strings包的函数使用示例讲解

    这篇文章主要为大家介绍了GO语言字符串处理Strings包的函数使用示例讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加...

    Jeff的技术栈6932022-04-14
  • GolangGo依赖注入DI工具wire使用详解(golang常用库包)

    Go依赖注入DI工具wire使用详解(golang常用库包)

    依赖注入是指程序运行过程中,如果需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部的注入,本文结合示例代码给大家介绍Go依...

    九卷4772022-09-14
  • Golang使用Go语言实现微信公众平台

    使用Go语言实现微信公众平台

    这篇文章主要介绍了使用Go语言实现微信公众平台,虽然不是全部代码,但是也是给我们提供了一个非常好的思路,需要的朋友可以参考下 ...

    hebedich4962020-04-12
  • Golanggolang中字符串MD5生成方式总结

    golang中字符串MD5生成方式总结

    在本篇文章里小编给大家整理的是一篇关于golang中字符串MD5生成方式总结内容,有兴趣的朋友们可以跟着学习参考下。...

    Tim_SSS8552021-08-13
  • GolangGolang Mongodb模糊查询的使用示例

    Golang Mongodb模糊查询的使用示例

    这篇文章主要给大家介绍了关于Golang Mongodb模糊查询的使用示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需...

    siskinc6622020-05-23