golang第六卷---go命令

go/go help

通过该命令,我们可以查看go语言中的所有命令,其中gogo help两个命令是等效的
如下:
在这里插入图片描述
其中,输入go help build将会给出每个命令的详细解释

在这里插入图片描述

go version

go version 用于查看当前go的版本

在这里插入图片描述

go env

go env命令用于打印Go语言的环境变量信息,包括Go语言的安装路径、工作目录、操作系统、CPU架构、Go模块代理、代理服务器等信息。这个命令通常用于调试和查看当前Go语言环境的配置信息

在这里插入图片描述

go bug

go bug命令用于报告Go语言标准库或工具链中的bug或问题。使用该命令可以方便地向Go语言的开发者和维护者提交bug报告
执行这个命令后,会自动打开一个浏览器窗口,跳转到Go语言项目的bug报告页面,用户可以在这里提交bug报告或者搜索已有的bug报告
在这里插入图片描述

go build

go build命令用于将Go语言源代码编译成可执行的程序或库文件。使用"go build"命令可以将Go语言代码编译成exe可执行文件,而无需显式地指定编译器或链接器选项
前提是该目录下有go.mod文件(用于管理和描述项目的模块依赖关系的文件,通常位于项目的根目录下)
如下:
在这里插入图片描述
没下面这个即为成功编译
在这里插入图片描述
也可以使用参数 -o(指定输出文件的名称)指定文件名进行编译
例如:

go build -o main.exe

或者指定文件名编译

go build main.go

go install

go install命令是Go语言中用于构建并安装指定包的命令。执行go install命令会编译指定包的源代码,并将生成的可执行文件或库文件安装到Go语言的工作区中的bin目录或pkg目录中

其中go install命令与go build命令的参数一致

注意:文件需要按照go语言开发规范,目录下应该有src、pkg、bin三个子目录

go get

go get命令用于动态获取远程代码包及其依赖包,并进行编译和安装

就比如我们要使用gin框架时,就会使用如下命令

go get -u github.com/gin-gonic/gin

其中,-u表示更新已经存在的包,或者安装最新的版本

go mod

go mod(go modules)命令用于对go包的管理

从go1.11开始实现

其中Go模块(Go Modules)提供了一组命令,用于管理和操作Go项目的依赖关系。以下是一些常用的go mod命令及其作用:

  1. go mod init <module-name>:初始化一个新的模块。这个命令会在当前目录下创建一个新的go.mod文件,用于记录项目的依赖关系。<module-name>是你的项目的模块名称
  2. go mod tidy:拉取缺少的模块,移除未使用的模块
  3. go mod download:下载项目的所有依赖包。这个命令会下载项目依赖的所有包到本地缓存中
  4. go mod vendor:将依赖包复制到项目的vendor目录中。这个命令会将所有的依赖包复制到项目的vendor目录下,以便项目可以在没有网络连接的情况下构建
  5. go mod verify:验证依赖包的完整性。这个命令会验证项目依赖包的完整性,确保它们没有被篡改
  6. go mod graph:打印模块依赖图。这个命令会打印出项目依赖的模块和它们之间的依赖关系
  7. go mod edit:编辑go.mod文件。这个命令可以用来手动编辑go.mod文件,例如添加或删除依赖项
  8. go mod why:解释为什么需要依赖包。这个命令可以帮助你理解为什么某个依赖包被引入到你的项目中

go run

go run命令用于运行源代码文件的命令。使用go run命令可以直接运行一个Go源代码文件,而不需要先将其编译成可执行文件。即包含编译步骤,所以go build参数都可用于go run
常用于main.go

go run main.go

go clean

go clean用于清理项目文件的命令。它可以用来清理编译生成的文件和缓存,以及其他与构建过程相关的临时文件

有以下常用的子命令:

  1. go clean:清理当前目录的对象文件和缓存文件。这个命令会删除当前目录下的所有与构建相关的临时文件和缓存。
  2. go clean -i:清理安装的包和可执行文件。这个命令会删除安装的包和可执行文件,但会保留下载的源码文件。
  3. go clean -r:递归清理依赖包。这个命令会递归地清理项目依赖的所有包的对象文件和缓存文件。
  4. go clean -cache:清理构建缓存。这个命令会清理Go构建过程中生成的缓存文件。
  5. go clean -modcache:清理模块缓存。这个命令会清理模块下载的缓存文件

go doc

go doc命令用于查看Go语言标准库中的包、类型、函数等的文档。你可以使用go doc命令来查看标准库或者你自己编写的代码中的文档。例如,go doc fmt.Printf会显示fmt包中Printf函数的文档
在这里插入图片描述

go fix

go fix命令用于升级旧版本的Go代码以适应新版本的语言规范。它会自动更新旧代码中不再支持的语法和接口,以便让代码能够在新版本的Go中编译和运行

go fmt

go fmt命令用于格式化Go源代码文件。它会根据Go语言的规范自动调整代码的格式,包括缩进、空格、换行等,以确保代码风格的一致性

go generate

go generate命令用于执行指定的代码生成命令。通过在Go源文件中添加//go:generate的注释,
即go generate是利用源代码中的注释工作的。你可以指定需要执行的代码生成命令,然后使用go generate命令来生成相应的代码

go work

官方文档地址:work

Go 1.18支持的工作区模式,可以本地同时开发多个互相依赖的Go Module

可以在工作区目录维护一个go.work文件来管理你的所有依赖。go.work里的use和replace指令会覆盖工作区目录下的每个Go Module的go.mod文件,因此没有必要去修改Go Module的go.mod文件,即不用在go.mod文件中再写require、replace了

使用go work init来创建一个workspace
例如:

D:\go\project>mkdir ginlearn //即建立工作目录ginlearn 一个工作目录即是一个完整的大项目功能模块
D:\go\project>cd ginlearn
D:\go\project\ginlearn>go work init //初始化
D:\go\project\ginlearn>mkdir helloworld
D:\go\project\ginlearn>cd helloworld
D:\go\project\ginlearn\helloworld>go mod init test.com/helloworld //初始化项目
go: creating new go.mod: module test.com/helloworld
D:\go\project\ginlearn\helloworld>cd ..
D:\go\project\ginlearn>go work use ./helloworld //将该项目加入工作目录中,即生成的go.work文件中

go test

go test命令用于运行Go语言中的测试文件,它会自动查找当前目录下以_test.go结尾的文件(即测试源码的文件名以 _test.go 结尾),并执行其中的测试函数。测试函数的命名必须以Test开头,函数签名为 func (t *testing.T),例如TestAdd()。

go test命令会输出测试结果,包括测试用例的总数、通过的测试用例数、失败的测试用例数等。如果所有测试用例都通过,则输出PASS,否则输出FAIL

go tool

go tool命令是一个工具集,包含了很多有用的工具,例如go tool pprof用于性能分析、go tool vet用于静态分析等
如下:
在这里插入图片描述

go vet

go vet命令是go tool vet命令的简化版,它可以直接使用go vet命令来检查代码中的常见错误和潜在问题。与go tool vet命令相比,go vet命令更加简单易用,可以直接在命令行中使用

该命令会检查代码中的常见错误和潜在问题,例如未使用的变量、不必要的类型转换、死代码等。使用go vet命令可以帮助开发者发现代码中的问题,提高代码质量

18个命令完结~ 感谢阅读!

  • 35
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

佳辰辰辰辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值