more: https://pkg.go.dev/cmd
go build
特别地,文件最上方加入 build tags 可以指定编译的平台
//go:build ≥ Go1.17
// +build ≤ Go1.16 时使用
//go:build ignore 表示编译时需要忽略
也可以采用文件名为 *_GOOS_GOARCH 的形式(source_windows_amd64.go)来限定文件制定的编译平台
go list
go list -m all 列出所有依赖
go list -m -u all 列出所有依赖以及其当前最新版本
go list -m -versions xx 列出xx包的所有版本
go get
go get -d xx 更新xx的版本
go get -d -u ./... 更新所有直接/简介依赖的modules的版本
go get -d xx@vx.x.x 更新某个包到指定版本
ps: Go1.18 默认隐式携带-d, 不会下载包,只会更新go.mod文件
go install
go install xx@version 下载某个program的指定版本
go mod
go mod tidy 删除go.mod中的无用包
go vet
go vet 找到文档中的错误之处,不一定十分准确
go fix
go tool fix -diff file 找到旧API并给出建议
如果没有 -diff 则直接替换文件,或路径下的所有文件