go语言常用命令汇总

1.go命令集

查看所有命令

The commands are:

        bug         start a bug report
        build       compile packages and dependencies // 编译
        clean       remove object files and cached files
        doc         show documentation for package or symbol
        env         print Go environment information // 环境变量
        fix         update packages to use new APIs
        fmt         gofmt (reformat) package sources
        generate    generate Go files by processing source
        get         add dependencies to current module and install them // 下载安装包
        install     compile and install packages and dependencies
        list        list packages or modules // 查看项目依赖包或者项目下的目录
        mod         module maintenance // mod管理
        run         compile and run Go program // 运行go文件
        test        test packages // 单元测试及基准测试常用
        tool        run specified go tool // 性能分析
        version     print Go version
        vet         report likely mistakes in packages

持续更新中

2.go env

3.go get

4.go build

5.go run

6.go test

7.go tool

8.gomod

9.其他常用-go list/format/fix

go list
go list -m all
查看项目下使用到哪些pkg:

# go list -m all
demo
cloud.google.com/go v0.34.0
github.com/BurntSushi/toml v0.3.1
github.com/antihax/optional v1.0.0
github.com/census-instrumentation/opencensus-proto v0.2.1
github.com/cespare/xxhash/v2 v2.1.1
github.com/client9/misspell v0.3.4
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1
github.com/davecgh/go-spew v1.1.0
github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1
github.com/envoyproxy/protoc-gen-validate v0.1.0
github.com/ghodss/yaml v1.0.0
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
github.com/golang/mock v1.1.1
github.com/golang/protobuf v1.5.2
github.com/google/go-cmp v0.5.6
github.com/google/uuid v1.1.2
github.com/grpc-ecosystem/grpc-gateway v1.16.0
github.com/pmezard/go-difflib v1.0.0
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4
github.com/rogpeppe/fastuuid v1.2.0
github.com/stretchr/objx v0.1.0
github.com/stretchr/testify v1.7.0
go.opentelemetry.io/proto/otlp v0.7.0
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9
golang.org/x/exp v0.0.0-20190121172915-509febef88a4
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3
golang.org/x/net v0.0.0-20201021035429-f5854403a974
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
golang.org/x/sync v0.0.0-20190423024810-112230192c58
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4
golang.org/x/text v0.3.3
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
google.golang.org/appengine v1.4.0
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013
google.golang.org/grpc v1.48.0
google.golang.org/protobuf v1.28.0
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
gopkg.in/yaml.v2 v2.2.3
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc

go list ./...
工作空间中的软件包:

# go list ./... // ./告诉从当前文件夹开始,…告诉递归向下。当然,这不仅适用于go工作区中的任何其他文件夹
demo/client
demo/proto
demo/server

go list -f "{{.ImportPath}} {{.Imports}}" ./...
软件包及其依赖性,查看每个软件包导入的软件包,则可以尝试以下自定义格式:

# go list -f "{{.ImportPath}} {{.Imports}}" ./...
demo/client [context demo/proto fmt google.golang.org/grpc log]
demo/proto [context google.golang.org/grpc google.golang.org/grpc/codes google.golang.org/grpc/status google.golang.org/protobuf/reflect/protoreflect google.golang.org/protobuf/runtime/protoimpl reflect sync]
demo/server [context demo/proto fmt google.golang.org/grpc log net]

go list -u -m -f '{{if not .Indirect}}{{.}}{{end}}' all
查看当前项目的直接引用pkg的当前版本及最新版本:

➜ go list -u -m -f '{{if not .Indirect}}{{.}}{{end}}' all
git.querycap.com/cloudchain/srv-centre
git.querycap.com/cloudchain/chain-sdk-go v1.1.2 [v1.1.3]
git.querycap.com/cloudchain/common-def v0.0.0-20200817131015-b62d7ad67a52
git.querycap.com/cloudchain/confclient/v2 v2.3.2
git.querycap.com/tools/conflogger/v2 v2.0.5 [v2.1.3]
git.querycap.com/tools/confmysql/v2 v2.0.2 [v2.0.5]
git.querycap.com/tools/confserver/v2 v2.0.8 [v2.4.4]

其中git.querycap.com/tools/confserver/v2 v2.0.8 [v2.4.4] 前面git.querycap.com/tools/confserver/v2表示pkg,随后是该pkg的当前版本,如果有版本更新则会用[]表示。

posted on 2022-07-22 10:43  进击的davis  阅读(298)  评论(0编辑  收藏  举报

导航