<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Godoc是go語言的檔案化工具,類似於檔案化工具godoc,類似於Python的Docstring和Java的Javadoc
Godoc通過解析包含註釋的Go程式碼來生成HTML或文字型別的檔案。
學習go語法的同時為了方便檢視對應的檔案,不同的Go版本會有一些改動,所以,使用本地Go原始碼生成的檔案顯然更精確。
go在1.13之前是自帶godoc的,之後的版本需要自行安裝。
go get -u golang.org/x/tools/cmd/godoc
// 並沒有自動安裝go install golang.org/x/tools/cmd/godoc
// 手動安裝
> godoc -h usage: godoc -http=localhost:6060 -goroot string Go root directory (default "D:\Go") -http string HTTP service address (default "localhost:6060") -index enable search index -index_files string glob pattern specifying index files; if not empty, the index is read from these files in sorted order -index_interval duration interval of indexing; 0 for default (5m), negative to only index once at startup -index_throttle float index throttle value; 0.0 = no time allocated, 1.0 = full throttle (default 0.75) -links link identifiers to their declarations (default true) -maxresults int maximum number of full text search results shown (default 10000) -notes string regular expression matching note markers to show (default "BUG") -play enable playground -templates string load templates/JS/CSS from disk in this directory -timestamps show timestamps with directory listings -url string print HTML for named URL -v verbose mode -write_index write index to a file; the file name must be specified with -index_files -zip string zip file providing the file system to serve; disabled if empty
進入到Go原始碼目錄,D:Gosrc
godoc -http=:6060
掃描檔案需要時間,啟動之後有時候還要等一會。
存取瀏覽器 http://localhost:6060/
存取指定的包http://localhost:6060/pkg/fmt/
http://localhost:6060/pkg/archive/tar/
可以通過godoc -url "http://localhost:6060/pkg/" > doc.html
匯出為靜態的html單個檔案,但是這個體驗很差。
如果我們要檢視一個第三方包的檔案,比如 github.com/julienschmidt/httprouter
首先要進入它的原始碼目錄godoc -http=localhost:6060
第一部分依然是 Go Standard library,第二部分 Third party 才是 httprouter 的檔案
如果我們要檢視某個專案的檔案也可以使用這種方式,然後我就發現我們自己寫的專案大多沒有什麼註釋,於是這就牽涉到註釋的規範。
註釋使用//
加一個空格並且要緊跟著被註釋物件的上方。
首先需要給package加上註釋,說明此包的作用,例如
// Package bufio implements buffered I/O. It wraps an io.Reader or io.Writer // object, creating another object (Reader or Writer) that also implements // the interface but provides buffering and some help for textual I/O. package bufio
同一目錄下的包可以由很多個檔案組成,如果每個檔案都有對package進行註釋的話,godoc會自動將所有註釋"按照檔名的字母數序"進行合併
在無效註釋中以BUG(who)開頭的註釋, 將被識別為已知bug, 顯示在bugs區域
// BUG(who): 因為前面有BUG(who)這個關鍵字,所以這句註釋就算沒有緊跟關鍵字不會被隱藏掉
關於DEPRECATED
棄用
// Time returns an int64 unix timestamp in milliseconds of the snowflake ID time // DEPRECATED: the below function will be removed in a future release. func (f ID) Time() int64 { return (int64(f) >> timeShift) + Epoch }
在註釋符要縮排的話,第二行註釋符後面的空格要比上一行的空格多一個
example: // 123 // 123
關於 go doc xxx
主要用來在終端上檢視某個包的檔案,它也是通過掃描包內的一些註釋,然後格式化輸出,但很少這麼用。
> go doc fmt package fmt // import "fmt" Package fmt implements formatted I/O with functions analogous to C's printf and scanf. The format 'verbs' are derived from C's but are simpler. Printing The verbs: General: %v the value in a default format when printing structs, the plus flag (%+v) adds field names %#v a Go-syntax representation of the value %T a Go-syntax representation of the type of the value %% a literal percent sign; consumes no value ... ...
godoc
Go的註釋規則很簡單,為型別,變數,常數,函數或包編寫註釋時,直接在這些宣告前編寫普通形式的註釋,中間不留空行即可。Godoc將這些註釋與後面的宣告連線到一起,達到檔案化的目的。
1.註釋符// 後加空格
// 這是一行註釋 package main
2.註釋緊鄰關鍵字行寫,否則不會被識別
// 不會被識別 // 會被識別 package main // 不會被識別 // 會被識別1 // 會被識別2 func main(){ }
3.註釋行的數量最好不要超過3行
4.已知bug註釋:BUG(who)
godoc的輸出將忽略那些與頂層宣告不相鄰的註釋,只有一個例外,那就是以BUG(who)開頭的註釋。這些註釋將被識別為已知的bug,幷包含在檔案的BUGS區。
// 註釋 package main // BUG(who) //會被識別,放入檔案的Bugs區 const a = 8
首先在命令列進入所需要執行的.go檔案目錄
例:我的test.go放在C:/GoProject/src/test/ 目錄下
需要在命令列進入C:/GoProject/src/test/
然後執行命令
godoc -http=:6060 //6060是godoc提供的預設埠
在瀏覽器輸入 localhost:6060,即可進入godoc的網站,檢視自己的檔案需要在位址列輸入路徑 localhost:6060/pkg/test
到此這篇關於Golang中的godoc使用簡介的文章就介紹到這了,更多相關go語言godoc使用內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45