最近开始学go,把命令行相关工具汇总到这里

1. go build

go build是编译,计算文件的依赖关系,编译源码文件、代码包以及依赖的代码包,生成可执行文件。
go buildgo build main.gogo build ./go build -ldflags "-s -w"

2.go install

go install是编译并安装,将编译出来的可执行文件放到$GOPATH/bin目录下,将编译的中间件放到pkg目录下
GOOS=linux GOARCH=amd64 go install

3.go run

go run是编译并运行。对象只能是单个或者多个.go文件,且不能为测试文件
  • 无法针对包运行go run,只能使用go build编译整个包,再运行编译后的可执行文件。
  • 使用go run -work 可以显示当前的编译目录。
  • 使用go run -x 可以显示编译过程中的命令。
  • 使用go run -gcflags "-m" 可以显示编译过程中的内存分配情况。

4.go test

go test是测试,测试文件有固定结构以_test.go结尾
go tool cover -html=cover.out -o cover.htmlgo tool cover -html=cover.out -o cover.htmlgo tool cover -html=cover.out -o cover.htmlgo tool cover -html=cover.out -o cover.htmlgo tool cover -html=cover.out -o cover.htmlgo tool cover -html=cover.out -o cover.htmlgo tool cover -html=cover.outgo test -coverprofile=cover.outgo test -coverprofile=cover.out -covermode=countgo test -coverprofile=cover.out -covermode=atomicgo test -coverprofile=cover.out -covermode=setgo test -coverprofile=cover.out -covermode=atomic -coverpkg=github.com/astaxie/beego,github.com/astaxie/beego/contextgo test -coverprofile=cover.out -covermode=atomic -coverpkg=./...go test -coverprofile=cover.out -covermode=atomic -coverpkg=.

5.go fmt

go fmt是格式化代码,go fmt会自动格式化代码,使代码更加美观,更加易读。
  • 如果传入具体文件路径,会格式化该文件
  • 如果传入目录路径,会格式化该目录下的所有文件
  • 如果不传入参数,会格式化当前目录下的所有文件

6.go get

go get是下载第三方包。把第三方包下载到GOPATH/src目录下。

7.go doc

go doc是查看go的文档
  • 使用go doc fmt可以查看fmt包的文档
  • 使用go doc fmt Println可以查看fmt包中的Println函数的文档
  • 使用go doc -http=:6060可以在本地启动一个web服务,通过浏览器访问http://localhost:6060可以查看go的文档

8.go tool

go tool是使用go的工具
go tool pprof -http=:6060 cpu.prof

9.其他命令

  • go version是查看go的版本
  • go list是查看go的包列表
  • go vet是检查代码
  • go clean是清除编译的文件
  • go mod是go module的命令
  • go env是查看go的环境变量
本文使用 文章同步助手 同步