Go命令行工具详解 -《Go语言实战指南》
创始人
2025-05-06 10:22:01
0

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

一、go version

查看当前安装的Go版本:

go version

输出示例:

go version go1.21.5 linux/amd64

二、go env

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

goenv

输出示例(部分):

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

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

goenvGOPATH

三、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的官方风格:

gofmtmain.go

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

gofmt./...

七、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 结尾):

gotest

带上详细输出:

gotest-v

运行指定测试文件:

gotestmypackage/myfile_test.go

十、go clean

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

go clean

可配合参数使用:

go clean -modcache# 清理模块缓存

十一、go doc

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

go docfmtgo doc fmt.Println

十二、go list

列出包信息和依赖信息:

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

十三、go tool

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

go tool

可以用于深入分析性能、汇编等内容(如 go tool pprof、go 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命令行工具的主要使用方式。掌握它们,将大大提升你的开发效率。

相关内容

热门资讯

今天,光顾太阳系的第三颗星际彗... 于今年七月首次被观测到来访太阳系的星际彗星3I/ATLAS,正开始离开我们所在的宇宙角落。它是人类观...
4138万元卖掉在建厂房!海象... 12月18日晚,海象新材(SZ003011)发布公告称,为提升资产利用效率,公司拟以4137.74万...
和讯投顾孙鹏:如果到了3900... 今天如果是靠近3900点,那就要注意了,那这一次的抄底反弹也就差不多了,大家应该懂我意思。和讯投顾孙...
AI时代,寻找超级创业者!徐汇... AI时代,AI工具可以将创意人口中感性的“五彩斑斓的黑”转化为程序员可以理解的代码,也可以大幅降低沟...
海外科技巨头为什么没做出“AI... 这种跃进式的效率展示,在短时间内极大抬高了公众对AI助手能力的期待,也推动厂商密集展示跨应用自动化的...
银河通用机器人宣布完成超3亿美... 雷递网 乐天 12月19日 银河通用机器人今日宣布已于近期完成新一轮超 3 亿美元融资,本轮融资由中...
SKG港交所披露招股书,网红按... 近日,未来穿戴健康科技股份有限公司SKG Health Technologies Co.,Ltd.(...
谷歌联手Meta挑战英伟达!打... 文|不慌实验室 在AI竞赛进入深水区的2025年末,谷歌(Google)与Meta Platfor...
光合组织2025人工智能创新大... 12月18日,由国家先进计算产业创新中心指导,海光产业生态合作组织主办的光合组织2025人工智能创新...
“亏本卖车”或被禁止:红线之下... 持续超过三年的汽车“价格战”,或许有望在2026年告一段落。 近日,国家市场监督管理总局发布《汽车行...