go 中快速查看 包/模块 依赖

要深刻理解 go 中,包和模块关系的不同
模块是 module, 是工程包的综合,就是 go mod 文件中的第一句 module gotest
包是 一个module 下的一个一个目录

快速分析 go 中各种编译的问题以及 包可视化管理以及安全漏洞问题

列举常用的查找依赖关系的命令

go list -m // 输出本工程下的模块
go list -m all // 输出本工程下的模块以及依赖的模块以及依赖模块的模块
go list all // 输出本工程下的模块的包以及依赖的模块的包以及依赖模块的模块的包
go list -f '{{with .Module}}{{.Path}} {{.Version}}{{end}}' all | sort -u
// 输出本工程下依赖的模块的包以及直接依赖的第三方模块的包(不显示依赖包的依赖)
go list ./... // 输出本工程下的模块的包
go mod graph // 输出本工程的模块以及依赖的模块以及依赖模块的模块的包的依赖图
go mod why // 查看某个包的依赖关系树形图
go mod why -m // 查看某个模块的依赖关系树形图
go mod graph | grep $(go list -m)// 可以输出输出本工程的模块

你可能感兴趣的:(go,golang,开发语言,后端)