> For the complete documentation index, see [llms.txt](https://ryanyang.gitbook.io/the-way-to-go-zh-cn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ryanyang.gitbook.io/the-way-to-go-zh-cn/di-yi-bu-fen-xue-xi-go-yu-yan/03.0/03.6.md).

# 生成代码文档

`go doc` 工具会从 Go 程序和包文件中提取顶级声明的首行注释以及每个对象的相关注释，并生成相关文档。

它也可以作为一个提供在线文档浏览的 web 服务器，<http://golang.org> 就是通过这种形式实现的。

**一般用法**

* `go doc package` 获取包的文档注释，例如：`go doc fmt` 会显示使用 `godoc` 生成的 `fmt` 包的文档注释。
* `go doc package/subpackage` 获取子包的文档注释，例如：`go doc container/list`。
* `go doc package function` 获取某个函数在某个包中的文档注释，例如：`go doc fmt Printf` 会显示有关 `fmt.Printf()` 的使用说明。

这个工具只能获取在 Go 安装目录下 `../go/src` 中的注释内容。此外，它还可以作为一个本地文档浏览 web 服务器。在命令行输入 `godoc -http=:6060`，然后使用浏览器打开 <http://localhost:6060> 后，你就可以看到本地文档浏览服务器提供的页面。

`godoc` 也可以用于生成非标准库的 Go 源码文件的文档注释（第 9.6 章）。

如果想要获取更多有关 `godoc` 的信息，请访问该页面：<http://golang.org/cmd/godoc/>（在线版的第三方包 `godoc` 可以使用 [Go Walker](https://gowalker.org)）。

## 链接

* [目录](https://github.com/yangchuansheng/the-way-to-go_ZH_CN/tree/f30ab7d8c58f85840a0afb548024b93642b518d5/eBook/directory.md)
* 上一节：[格式化代码](/the-way-to-go-zh-cn/di-yi-bu-fen-xue-xi-go-yu-yan/03.0/03.5.md)
* 下一节：[其它工具](/the-way-to-go-zh-cn/di-yi-bu-fen-xue-xi-go-yu-yan/03.0/03.7.md)
