go doc 是 Go 内置命令,用于从源码注释提取标准库或本地包文档;支持查看包、函数、方法(如 go doc fmt、go doc fmt.Printf)、自定义包及第三方包,并可通过 -src、-all、grep 等增强体验,依赖规范注释(紧邻声明、首行匹配名称、包注释以 // Package 开头)。

在 Go 中,go doc 是一个内置命令,用于快速查看标准库或本地包的文档,无需打开浏览器或源码文件。它直接从源码注释中提取内容,简洁高效。
基础用法:查看标准库包
终端中运行以下命令即可查看标准库包的概览文档:
-
go doc fmt—— 查看fmt包整体说明和导出项列表 -
go doc fmt.Printf—— 查看Printf函数签名与说明 -
go doc time.Time.Add—— 查看结构体方法(注意用点号连接)
查看自定义包文档
确保当前目录在模块根路径下(即包含 go.mod 文件),且目标包已正确导入或位于同一模块内:
-
go doc mypkg—— 查看本模块中mypkg包的文档(包需有// Package mypkg ...注释) -
go doc mypkg.MyFunc—— 查看该包中导出函数或类型的文档 - 若包不在当前模块,可先
go install或使用go doc -u查看已安装的第三方包(需 GOPATH 或 go install 过)
增强体验的小技巧
提升查阅效率的实用方式:
立即学习“go语言免费学习笔记(深入)”;
- 加
-src参数显示源码:go doc -src fmt.Println - 加
-all显示未导出项(仅限本地包):go doc -all net/http - 用
go doc -help查看全部选项 - 搭配
grep快速过滤,例如:go doc bufio | grep -A5 "NewScanner"
文档注释规范(影响 go doc 效果)
go doc 只识别紧邻声明前的、以包/类型/函数名为首行的连续注释块:
- ✅ 正确:
// HTTPError 表示 HTTP 请求错误。
type HTTPError struct { ... } - ❌ 无效:注释与声明之间有空行,或注释写在行尾,或首行不匹配名称
- 包级注释必须是
// Package xxx ...开头,放在package xxx上方最近位置
不复杂但容易忽略——写好注释、用对命令,go doc 就是最顺手的本地文档工具。










