Go语言编译命令

Go 语言的工具链非常丰富,从获取源码、编译、文档、测试、性能分析,到源码格式化、源码提示、重构工具等应有尽有

1 . go build–无参数编译

在这里插入图片描述

如上文件所示

1.1 无参数go build

在这里插入图片描述

1.2 go build + 文件列表

在这里插入图片描述

-ogo build -o test main.go lib.gotest.exe

注意:使用“go build+文件列表”编译方式编译时,文件列表中的每个文件必须是同一个包的 Go 源码。

1.3 go build + 包

“go build+包”在设置 GOPATH 后,可以直接根据包名进行编译,即便包内文件被增(加)删(除)也不影响编译指令。

在这里插入图片描述

1.4 go build 编译时的附加参数

附加参数备 注
-v编译时显示包名
-p n开启并发编译,默认情况下该值为 CPU 逻辑核数
-a强制重新构建
-n打印编译时会用到的所有命令,但不真正执行
-x打印编译时会用到的所有命令
-race开启竞态检测

2 . go run–编译并运行

go run

在这里插入图片描述

3 . go mod–包依赖管理工具

Go.mod是Golang1.11版本新引入的官方包管理工具用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理

在这里插入图片描述

go run main.go

在这里插入图片描述

命令作用
go mod download下载依赖包到本地(默认为 GOPATH/pkg/mod 目录)
go mod edit编辑 go.mod 文件
go mod graph打印模块依赖图
go mod init初始化当前文件夹,创建 go.mod 文件
go mod tidy增加缺少的包,删除无用的包
go mod vendor将依赖复制到 vendor 目录下
go mod verify校验依赖
go mod why解释为什么需要依赖