Go命令行工具详解 -《Go语言实战指南》

Go语言自带的命令行工具非常强大,是开发者日常工作中不可或缺的助手。本章将详细介绍常用的Go命令行工具及其使用场景,帮助你更高效地开发、构建、测试和管理Go项目。


一、go version

查看当前安装的Go版本:

go version

输出示例:

go version go1.21.5 linux/amd64

二、go env

查看当前Go的环境变量设置:

go env

输出示例(部分):

GOOS="linux"
GOARCH="amd64"
GOPATH="/home/user/go"
GOROOT="/usr/local/go"

你也可以查看单个变量,如:

go env GOPATH

三、go run

编译并立即运行Go程序,适合快速测试:

go run main.go

也可运行多个文件:

go run main.go utils.go

四、go build

将Go源文件编译为可执行文件(不运行):

go build main.go

编译整个模块:

go build

构建后在当前目录生成可执行文件(Windows为 .exe,其他系统为无扩展名的可执行文件)。


五、go install

编译并安装Go程序或包:

go install

生成的可执行文件会被放到 $GOPATH/bin 或模块模式下的 GOBIN 路径中。


六、go fmt

对Go源代码进行格式化,符合Go的官方风格:

go fmt main.go

通常配合 IDE 自动完成,也可以一次格式化整个项目:

go fmt ./...

七、go mod

Go Modules 是Go 1.11之后引入的官方包管理系统。

  • • 初始化模块(项目):
go mod init myproject
  • • 下载依赖:
go mod tidy
  • • 查看模块依赖图:
go mod graph
  • • 显示依赖树:
go list -m all

八、go get(Go 1.16及之前)

在老版本中用于获取远程包:

go get github.com/gin-gonic/gin

在Go 1.17及之后,go get 只用于添加工具依赖,添加库依赖建议使用:

go install

或使用 go mod tidy 来解析 import 自动下载。


九、go test

运行测试代码(文件名以 _test.go 结尾):

go test

带上详细输出:

go test -v

运行指定测试文件:

go test mypackage/myfile_test.go

十、go clean

清理编译生成的缓存文件或可执行文件:

go clean

可配合参数使用:

go clean -modcache  # 清理模块缓存

十一、go doc

查看包或函数的文档说明(本地):

go doc fmt
go doc fmt.Println

十二、go list

列出包信息和依赖信息:

go list
go list -m all  # 列出所有依赖模块

十三、go tool

查看所有可用的底层Go工具:

go tool

可以用于深入分析性能、汇编等内容(如 go tool pprofgo tool compile 等)。


小结:常用Go命令速查表

命令 功能说明
go run 编译并运行程序
go build 编译生成可执行文件
go install 编译并安装到 $GOPATH/bin
go fmt 格式化源代码
go test 执行单元测试
go mod 管理模块依赖
go get 获取远程依赖包(旧方式)
go doc 查看文档
go env 查看Go环境变量
go version 查看Go版本

这就是Go命令行工具的主要使用方式。掌握它们,将大大提升你的开发效率。

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