您好,登錄后才能下訂單哦!
這篇文章主要介紹“golang如何獲取注釋內容”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“golang如何獲取注釋內容”文章能幫助大家解決問題。
在golang中,可以使用godoc工具來提取注釋內容。godoc工具會從Go程序和包文件中提取頂級聲明的首行注釋以及每個對象的相關注釋,并生成相關文檔,也可以作為一個提供在線文檔瀏覽的web服務器。
在golang中,可以使用godoc工具來提取注釋內容。
godoc工具
godoc 工具會從 Go 程序和包文件中提取頂級聲明的首行注釋以及每個對象的相關注釋,并生成相關文檔,也可以作為一個提供在線文檔瀏覽的 web 服務器,Go語言官網(https://golang.google.cn/)就是通過這種形式實現的。
需要注意:Go語言 1.13 版本移除了 godoc 工具,大家可以通過go get
命令來獲取 godoc 工具。
go get golang.org/x/tools/cmd/godoc
由于防火墻的原因,國內的用戶可能無法通過go get 命令來獲取 godoc 工具,這時候就需要大家來手動操作了。
首先從 GitHub下載 golang.org/x/tools 包;
然后將下載得到的文件解壓到 GOPATH 下的 src\golang.org\x\tools 目錄中,沒有的話可以手動創建;
打開 GOPATH 下的 src\golang.org\x\tools\cmd\godoc 目錄,在該目錄下打開命令行工具,并執行go build 命令,生成 godoc.exe 可執行文件;
最后,將生成的 godoc.exe 文件移動到 GOPATH 下的 bin 目錄中。(需要把 GOPATH 下的 bin 目錄添加到環境變量 Path 中)
完成上述操作后就可以使用 godoc 工具了,godoc 工具一般有以下幾種用法:
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()
的使用說明。
godoc 工具還可以獲取 Go 安裝目錄下 ../go/src 中的注釋內容,并將這些注釋內容整合到 web 服務器中供我們預覽。在命令行輸入godoc -http=:6060,然后使用瀏覽器打開 http://localhost:6060 后,就可以看到本地文檔瀏覽服務器提供的頁面。
godoc的使用
在終端查看
在終端,進入要查看的包的目錄go doc
顯示當前包的文檔
這里查看的是包名的文檔,以及所有的函數名字跟變量類型名
example:
go doc
terminal show:
package test // import "test/testdoc"
這個是a.go的包名的描述
At 20191017 by Baiyu
---a.go end---
這個是在doc.go 文件中的內容
在Go的源代碼中
在Mac系統中
在類Unix系統中
在Windows系統中
---doc.go end---
這個是在testgodoc.go文件的內容 package Name: test
describe: 程序的入口
---testgodoc.go end---
這個是z.go 的包名描述
---z.go end---
const Email ...
const Baiyu = "baiyu"
func H(h2 string, h3 string) (reValue string)
func Test(param1 string, inter int) (k string)
func Z()
type Computer struct{ ... }
type Person struct{ ... }
BUG: 這個注釋會生成在文檔最后后面,同時因為緊跟著fun Z,所以在上面的func列表里面也有顯示
功能: 生成Z簽名
BUG: 因為前面有BUG(who)這個關鍵字,所以這句注釋就算沒有緊跟關鍵字不會被隱藏掉
BUG: BUG(6):格式正確,所以這句注釋就算沒有緊跟關鍵字不會被隱藏掉,前面的BUG():、BUG6:、BUG:都是不正確的BUG(who)命名
go doc <pkg>.<func>
查看pkg包下面的func函數的注釋
example:
go doc test.Test
terminal show:
package test // import "test/testdoc"
func Test(param1 string, inter int) (k string)
功能: 測試函數
參 數:
param1 : 說明參數值
inter : 運算的數字
返回值:
k : 返回值
如果想查看完整的源碼go doc -src <pkg>.<func>
example:
go doc -src test.Test
terminal show:
package test // import "test/testdoc"
// 功能: 測試函數
// 參 數:
// param1 : 說明參數值
// inter : 運算的數字
// 返回值:
// k : 返回值
func Test(param1 string, inter int) (k string) {
fmt.Println("測試函數")
return param1
}
在瀏覽器上查看
使用命令godoc -http=:6060
然后在打開瀏覽器的,在url輸入localhost:6060/pkg
或者127.0.0.1:6060/pkg
就可以查看到你本地的所有包的信息了
如果你想要找到你特定的包名的話localhost:6060/pkg/<path>/<packageName>
或者127.0.0.1:6060/pkg/<path>/<packageName>
<path>
是你/src下包所在的路徑
<packageName>
是包名
導出godoc文檔為HTML
使用命令godoc -url "http://localhost:6060/pkg/<pkg>/<packageName>/" > <packageName>.html
<pkg>
是你包所在的文件夾
<packageName>
是你的包名
關于“golang如何獲取注釋內容”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。