最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Golang中的godoc使用簡(jiǎn)介(推薦)

 更新時(shí)間:2022年10月28日 11:34:04   作者:raoxiaoya  
Godoc是go語(yǔ)言的文檔化工具,類(lèi)似于文檔化工具godoc,類(lèi)似于Python的Docstring和Java的Javadoc,這篇文章主要介紹了Golang中的godoc使用簡(jiǎn)介,需要的朋友可以參考下

go doc簡(jiǎn)介

Godoc是go語(yǔ)言的文檔化工具,類(lèi)似于文檔化工具godoc,類(lèi)似于Python的Docstring和Java的Javadoc
Godoc通過(guò)解析包含注釋的Go代碼來(lái)生成HTML或文本類(lèi)型的文檔。

Golang中的godoc使用簡(jiǎn)介

學(xué)習(xí)go語(yǔ)法的同時(shí)為了方便查看對(duì)應(yīng)的文檔,不同的Go版本會(huì)有一些改動(dòng),所以,使用本地Go源碼生成的文檔顯然更精確。

go在1.13之前是自帶godoc的,之后的版本需要自行安裝。

go get -u golang.org/x/tools/cmd/godoc // 并沒(méi)有自動(dòng)安裝
go install golang.org/x/tools/cmd/godoc // 手動(dòng)安裝

> 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

進(jìn)入到Go源碼目錄,D:\Go\src
godoc -http=:6060
掃描文件需要時(shí)間,啟動(dòng)之后有時(shí)候還要等一會(huì)。
訪問(wèn)瀏覽器 http://localhost:6060/

訪問(wèn)指定的包
http://localhost:6060/pkg/fmt/
http://localhost:6060/pkg/archive/tar/

可以通過(guò)godoc -url "http://localhost:6060/pkg/" > doc.html導(dǎo)出為靜態(tài)的html單個(gè)文件,但是這個(gè)體驗(yàn)很差。

如果我們要查看一個(gè)第三方包的文檔,比如 github.com/julienschmidt/httprouter
首先要進(jìn)入它的源碼目錄
godoc -http=localhost:6060
第一部分依然是 Go Standard library,第二部分 Third party 才是 httprouter 的文檔

如果我們要查看某個(gè)項(xiàng)目的文檔也可以使用這種方式,然后我就發(fā)現(xiàn)我們自己寫(xiě)的項(xiàng)目大多沒(méi)有什么注釋?zhuān)谑沁@就牽涉到注釋的規(guī)范。

注釋使用//加一個(gè)空格并且要緊跟著被注釋對(duì)象的上方。

首先需要給package加上注釋?zhuān)f(shuō)明此包的作用,例如

// 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

同一目錄下的包可以由很多個(gè)文件組成,如果每個(gè)文件都有對(duì)package進(jìn)行注釋的話(huà),godoc會(huì)自動(dòng)將所有注釋"按照文件名的字母數(shù)序"進(jìn)行合并

在無(wú)效注釋中以BUG(who)開(kāi)頭的注釋, 將被識(shí)別為已知bug, 顯示在bugs區(qū)域

  // BUG(who): 因?yàn)榍懊嬗蠦UG(who)這個(gè)關(guān)鍵字,所以這句注釋就算沒(méi)有緊跟關(guān)鍵字不會(huì)被隱藏掉

關(guān)于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
}

在注釋符要縮進(jìn)的話(huà),第二行注釋符后面的空格要比上一行的空格多一個(gè)

  example:
      // 123
      //  123

關(guān)于 go doc xxx
主要用來(lái)在終端上查看某個(gè)包的文檔,它也是通過(guò)掃描包內(nèi)的一些注釋?zhuān)缓蟾袷交敵?,但很少這么用。

> 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
...
...

go doc約定規(guī)則

godoc
Go的注釋規(guī)則很簡(jiǎn)單,為類(lèi)型,變量,常量,函數(shù)或包編寫(xiě)注釋時(shí),直接在這些聲明前編寫(xiě)普通形式的注釋?zhuān)虚g不留空行即可。Godoc將這些注釋與后面的聲明連接到一起,達(dá)到文檔化的目的。

1.注釋符// 后加空格

// 這是一行注釋
package main

2.注釋緊鄰關(guān)鍵字行寫(xiě),否則不會(huì)被識(shí)別

// 不會(huì)被識(shí)別
// 會(huì)被識(shí)別
package main
// 不會(huì)被識(shí)別
 
// 會(huì)被識(shí)別1
// 會(huì)被識(shí)別2
func main(){
}

3.注釋行的數(shù)量最好不要超過(guò)3行

4.已知bug注釋?zhuān)築UG(who)
godoc的輸出將忽略那些與頂層聲明不相鄰的注釋?zhuān)挥幸粋€(gè)例外,那就是以BUG(who)開(kāi)頭的注釋。這些注釋將被識(shí)別為已知的bug,并包含在文檔的BUGS區(qū)。

// 注釋
package main
// BUG(who)  //會(huì)被識(shí)別,放入文檔的Bugs區(qū)
const a = 8

使用命令

首先在命令行進(jìn)入所需要執(zhí)行的.go文檔目錄
例:我的test.go放在C:/GoProject/src/test/ 目錄下
需要在命令行進(jìn)入C:/GoProject/src/test/
然后執(zhí)行命令

godoc -http=:6060 ? ? //6060是godoc提供的默認(rèn)端口

在瀏覽器輸入 localhost:6060,即可進(jìn)入godoc的網(wǎng)站,查看自己的文檔需要在地址欄輸入路徑 localhost:6060/pkg/test

到此這篇關(guān)于Golang中的godoc使用簡(jiǎn)介的文章就介紹到這了,更多相關(guān)go語(yǔ)言godoc使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • GoFrame?ORM原生方法操作示例

    GoFrame?ORM原生方法操作示例

    這篇文章主要為大家介紹了GoFrame?ORM原生方法操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 如何使用go-zero開(kāi)發(fā)線上項(xiàng)目

    如何使用go-zero開(kāi)發(fā)線上項(xiàng)目

    這篇文章主要介紹了如何使用go-zero開(kāi)發(fā)線上項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 淺談golang fasthttp踩坑經(jīng)驗(yàn)

    淺談golang fasthttp踩坑經(jīng)驗(yàn)

    本文主要介紹了golang fasthttp踩坑經(jīng)驗(yàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Go中的字典Map增刪改查、排序及其值類(lèi)型

    Go中的字典Map增刪改查、排序及其值類(lèi)型

    本文詳細(xì)介紹了Go語(yǔ)言中Map的基本概念、聲明初始化、增刪改查操作、反轉(zhuǎn)、排序以及如何判斷鍵是否存在等操作,Map是一種基于鍵值對(duì)的無(wú)序數(shù)據(jù)結(jié)構(gòu),鍵必須是支持相等運(yùn)算符的類(lèi)型,值可以是任意類(lèi)型,初始化Map時(shí)推薦指定容量以提高性能
    2024-09-09
  • Golang中runtime的使用詳解

    Golang中runtime的使用詳解

    這篇文章主要介紹了Golang中runtime的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Go?json自定義Unmarshal避免判斷nil示例詳解

    Go?json自定義Unmarshal避免判斷nil示例詳解

    這篇文章主要為大家介紹了Go?json自定義Unmarshal避免判斷nil示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Go語(yǔ)言中的空值(nil)與零值(zerovalue)區(qū)別詳解

    Go語(yǔ)言中的空值(nil)與零值(zerovalue)區(qū)別詳解

    在Go語(yǔ)言中,空值(nil)和零值(zero value)是兩個(gè)不同的概念,它們?cè)谡Z(yǔ)義、使用場(chǎng)景以及實(shí)際的編程實(shí)踐中有著明顯的區(qū)別,理解這兩者的差異對(duì)于編寫(xiě)清晰、健壯的Go代碼至關(guān)重要,需要的朋友可以參考下
    2024-06-06
  • 手把手帶你走進(jìn)Go語(yǔ)言之運(yùn)算符解析

    手把手帶你走進(jìn)Go語(yǔ)言之運(yùn)算符解析

    這篇文章主要介紹了手Go語(yǔ)言之運(yùn)算符解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • go 下載非標(biāo)準(zhǔn)庫(kù)包(部份包被墻了)到本地使用的方法

    go 下載非標(biāo)準(zhǔn)庫(kù)包(部份包被墻了)到本地使用的方法

    今天小編就為大家分享一篇go 下載非標(biāo)準(zhǔn)庫(kù)包(部份包被墻了)到本地使用的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • go語(yǔ)言中的map如何解決散列性能下降

    go語(yǔ)言中的map如何解決散列性能下降

    近期對(duì)go語(yǔ)言的map進(jìn)行深入了解和探究,其中關(guān)于map解決大量沖突的擴(kuò)容操作設(shè)計(jì)的十分巧妙,所以筆者特地整理了這篇文章來(lái)探討一下go語(yǔ)言中map如何解決散列性能下降,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-03-03

最新評(píng)論

商南县| 濉溪县| 青冈县| 桂平市| 察隅县| 莎车县| 独山县| 贵溪市| 辉南县| 岑巩县| 万安县| 长宁县| 长丰县| 博罗县| 宜兰市| 西安市| 宕昌县| 公主岭市| 新营市| 饶河县| 孙吴县| 九龙坡区| 盐津县| 泊头市| 乌海市| 汽车| 南通市| 邹平县| 灵璧县| 镇宁| 仁寿县| 宿松县| 曲麻莱县| 白银市| 望奎县| 麻阳| 吴旗县| 阳西县| 宁武县| 都江堰市| 闻喜县|