通过该命令,我们可以查看go语言中的所有命令,其中go与go help两个命令是等效的
如下:
其中,输入go help build将会给出每个命令的详细解释
go version 用于查看当前go的版本
go env命令用于打印Go语言的环境变量信息,包括Go语言的安装路径、工作目录、操作系统、CPU架构、Go模块代理、代理服务器等信息。这个命令通常用于调试和查看当前Go语言环境的配置信息
go bug命令用于报告Go语言标准库或工具链中的bug或问题。使用该命令可以方便地向Go语言的开发者和维护者提交bug报告
执行这个命令后,会自动打开一个浏览器窗口,跳转到Go语言项目的bug报告页面,用户可以在这里提交bug报告或者搜索已有的bug报告
go build命令用于将Go语言源代码编译成可执行的程序或库文件。使用"go build"命令可以将Go语言代码编译成exe可执行文件,而无需显式地指定编译器或链接器选项
前提是该目录下有go.mod文件(用于管理和描述项目的模块依赖关系的文件,通常位于项目的根目录下)
如下:
没下面这个即为成功编译
也可以使用参数 -o(指定输出文件的名称)指定文件名进行编译
例如:
go build -o main.exe
或者指定文件名编译
go build main.go
go install命令是Go语言中用于构建并安装指定包的命令。执行go install命令会编译指定包的源代码,并将生成的可执行文件或库文件安装到Go语言的工作区中的bin目录或pkg目录中
其中go install命令与go build命令的参数一致
注意:文件需要按照go语言开发规范,目录下应该有src、pkg、bin三个子目录
go get命令用于动态获取远程代码包及其依赖包,并进行编译和安装
就比如我们要使用gin框架时,就会使用如下命令
go get -u github.com/gin-gonic/gin
其中,-u表示更新已经存在的包,或者安装最新的版本
go mod(go modules)命令用于对go包的管理
从go1.11开始实现
其中Go模块(Go Modules)提供了一组命令,用于管理和操作Go项目的依赖关系。以下是一些常用的go mod命令及其作用:
go run命令用于运行源代码文件的命令。使用go run命令可以直接运行一个Go源代码文件,而不需要先将其编译成可执行文件。即包含编译步骤,所以go build参数都可用于go run
常用于main.go
go run main.go
go clean用于清理项目文件的命令。它可以用来清理编译生成的文件和缓存,以及其他与构建过程相关的临时文件
有以下常用的子命令:
go doc命令用于查看Go语言标准库中的包、类型、函数等的文档。你可以使用go doc命令来查看标准库或者你自己编写的代码中的文档。例如,go doc fmt.Printf会显示fmt包中Printf函数的文档
go fix命令用于升级旧版本的Go代码以适应新版本的语言规范。它会自动更新旧代码中不再支持的语法和接口,以便让代码能够在新版本的Go中编译和运行
go fmt命令用于格式化Go源代码文件。它会根据Go语言的规范自动调整代码的格式,包括缩进、空格、换行等,以确保代码风格的一致性
go generate命令用于执行指定的代码生成命令。通过在Go源文件中添加//go:generate的注释,
即go generate是利用源代码中的注释工作的。你可以指定需要执行的代码生成命令,然后使用go generate命令来生成相应的代码
官方文档地址: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开头,函数签名为 func (t *testing.T),例如TestAdd()。
go test命令会输出测试结果,包括测试用例的总数、通过的测试用例数、失败的测试用例数等。如果所有测试用例都通过,则输出PASS,否则输出FAIL
go tool命令是一个工具集,包含了很多有用的工具,例如go tool pprof用于性能分析、go tool vet用于静态分析等
如下:
go vet命令是go tool vet命令的简化版,它可以直接使用go vet命令来检查代码中的常见错误和潜在问题。与go tool vet命令相比,go vet命令更加简单易用,可以直接在命令行中使用
该命令会检查代码中的常见错误和潜在问题,例如未使用的变量、不必要的类型转换、死代码等。使用go vet命令可以帮助开发者发现代码中的问题,提高代码质量
18个命令完结~ 感谢阅读!