介紹
- godoc 是 golang 自帶的文檔查看器缩幸,更多的提供部署服務(wù)
- go doc 和 godoc 在 golang 1.13 被移除了褪迟,可以自行安裝 golang.org go1.13 godoc
go get golang.org/x/tools/cmd/godoc
# 使用代理安裝
GOPROXY=https://mirrors.aliyun.com/goproxy/ GO111MODULE=on go get golang.org/x/tools/cmd/godoc
godoc
- godoc 基礎(chǔ)使用
# 查看包內(nèi)的文檔,這里是查看 fmt 包中 Printf Println 的的文檔
godoc fmt Printf Println
# 查看文檔并包含源碼
godoc -src fmt Printf
# 查看的同時(shí)顯示示例代碼
godoc -ex fmt Printf
# 顯示文檔的web版本 http -> 端口
godoc -http=:6060
# 顯示 http 文檔并開啟本地索引
godoc -http=:6060 -index
要使用-index標(biāo)記開啟搜索索引,這個(gè)索引會(huì)在服務(wù)器啟動(dòng)時(shí)創(chuàng)建并維護(hù)。
否則無論在Web頁面還是命令行終端中提交查詢都會(huì)返回錯(cuò)誤"Search index disabled: no results available"
如果不想提供如此多的結(jié)果條目,可以設(shè)置小一些的值
甚至锰茉,如果不想提供全文本搜索結(jié)果,可以將標(biāo)記
-maxresults
的值設(shè)置為0切心,這樣服務(wù)器就只會(huì)創(chuàng)建標(biāo)識(shí)符索引飒筑,而根本不會(huì)創(chuàng)建全文本搜索索引
標(biāo)識(shí)符索引即為對程序?qū)嶓w(變量片吊、常量、函數(shù)协屡、結(jié)構(gòu)體和接口)名稱的索引
- go doc 這個(gè)是golang語言自帶的文檔查看工具
# 文檔工具使用說明
go help doc
# 查看當(dāng)前包的文檔索引
go doc
# 查看目標(biāo)包的文檔索引
go doc [targetPackage]
# 查看目標(biāo)包的某內(nèi)容的文檔索引
go doc [targetPackage].[函數(shù)名]
# 或者空格隔開也顯示某內(nèi)容的文檔
go doc [targetPackage] [函數(shù)名]
# 子包的文檔注釋
go doc [targetPackage]/[subpackage]
golang發(fā)布查詢代碼注釋文檔
發(fā)布文檔
godoc -http=:9090 -index
這樣就在本機(jī)使用 http://127.0.0.1:9090/pkg/ 查看發(fā)布的包
當(dāng)然你可以使用 http://127.0.0.1:9090/pkg/github.com/github.com/sinlov/XXXServer/userbiz/ 來查詢自己代碼 包 github.com/sinlov/XXXServer/userbiz
下面的文檔
查詢發(fā)布文檔
通過 godoc -q 命令查詢發(fā)布文檔服務(wù)俏脊,一般用于在另一個(gè)命令行終端甚至另一臺(tái)能夠與本機(jī)聯(lián)通的計(jì)算機(jī)中通過如下命令進(jìn)行查詢
# 在本機(jī)用godoc命令啟動(dòng)了Go文檔Web服務(wù)器,且IP地址為192.168.2.201肤晓、端口為9090
godoc -q -server="192.168.2.201:9090" Listener
- 標(biāo)記
-q
開啟了遠(yuǎn)程查詢的功能 - 標(biāo)記
-server="192.168.2.201:9090"
則指明了遠(yuǎn)程文檔服務(wù)器的IP地址和端口號(hào)
如果不指明遠(yuǎn)程查詢服務(wù)器的地址爷贫,那么該命令會(huì)自行將地址 :6060
和 golang.org
作為遠(yuǎn)程查詢服務(wù)器的地址
這個(gè)地址 golang.org:6060 即是默認(rèn)的本機(jī)文檔Web站點(diǎn)地址和官方的文檔Web站點(diǎn)地址
golang 代碼文檔管理
代碼文檔編寫
其實(shí)只要按 go 的標(biāo)準(zhǔn)注釋寫法編寫,就可以顯示代碼文檔了
比如 定義在 github.com/sinlov/XXXServer/userbiz
種有個(gè)文件 biz.go
// Biz implements a business
type Biz struct {
}
// business initialization
func (b *Biz) Init() {
}
注意
//
后面跟空格补憾,才開始解析文檔如果需要展示代碼需要
//
后緊跟[[:tab]]
tab漫萄,那么 go doc 就會(huì)把這行當(dāng)做代碼來看
可惜的是,go沒法自行在注釋里面添加使用鏈接盈匾,而是解析器跟蹤使用來生成鏈接
查看這個(gè)代碼的文檔命令就是 godoc github.com/sinlov/XXXServer/userbiz
查看某個(gè)函數(shù)的文檔腾务,比如 Init 函數(shù) 就是 godoc github.com/sinlov/XXXServer/userbiz Init
代碼文檔導(dǎo)出
就使用上面文章中提到的 godoc -q -server=
指令,直接部署在服務(wù)器中就行