6.2. godoc
godoc#
godoc 是 golang 自动生成文档的工具,根据代码的注释和代码组织格式生成文档。
使用命令 go get -v golang.org/x/tools/cmd/godoc
即可安装 godoc。
godoc xxxx
, 显示一个包的文档。
godoc -http=:80
,80 端口启动 web 文档服务,会显示 goroot 和 gopath 里面所有包的文档,相当一个本地的官网镜像服务。
可以在阅览器控制台输入下列 js 代码,可以统计这个包定义的函数和类型数量。
var func=0,type=0
for(var i of document.getElementById('manual-nav').getElementsByTagName("a")) {
i = i.innerText
if(i.indexOf("func ") == 0 ){
func++
}
if(i.indexOf("type ") == 0 ){
type++
}
}
console.log("func num:", func)
console.log("type num:", type)
godoc.org 是一个官方在线运行的 godoc,可以用来查看一些公开的包的 godoc 文档。
例如: godoc.org/github.com/eudore/eudore
godoc.org 就是一个公开的 godoc server 地址,github.com/eudore/eudore 是包名称,也是 uri 路径。
使用 web 查看 api#
首先使用命令行 godoc -http=:8020
启动 web 服务,会使用 GOROOT 和 GOPATH 两个环境变量,GOROOT 是 godoc 里面的标准库代码,GOPATH 是 godoc 里面的第三方服务代码;或者使用 godoc.org 这个 go 官网的 godoc 服务。
登录地址 http://192.168.75.4:8020/pkg/github.com/eudore/eudore
,地址为为 ip+/pkg/
+ 包名称
例如最上边就是阅览器地址,下面就是这个包的 godoc 内容。
godoc 目录结构为 Overview、Index、Examples、Subdirectories。
- Overview 为介绍是定义在
package eudore
前面的注释内容,通常在 doc.go 里面。 - Index 是可导出的函数和对象的列表,按照字符顺序排序,可以点击跳转到对应的 godoc。
- Examples 定义在 example_test.go 文件,golang.org 的 example 还可以在线运行。
- Subdirectories 是当前包的子包。
例如 eudore.App 对象定义:
可以继续点击对象跳转到定义或者源码,godoc 中链接都是蓝色文字可以跳转定义或源码。
反馈和交流请加群组:QQ 群 373278915。