gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

Go語言中注釋有什么作用

注釋在程序中的作用是對程序進行注解和說明,高程序代碼的可讀性,便于對源碼的閱讀;目的是為了讓別人和自己很容易看懂,一看就知道這段代碼是做什么用的。go的注釋有行注釋“//”和塊注釋“/* */”之分;在實際的使用中,行注釋使用得比較多,塊注釋主要用于格式化大段代碼或包的注釋中使用。

Go語言中注釋有什么作用

本教程操作環境:windows7系統、GO 1.18版本、Dell G3電腦。

注釋有什么作用

注釋就是對代碼的解釋和說明,其目的是讓人們能夠更加輕松地了解代碼。注釋是編寫程序時,寫程序的人給一個語句、程序段、函數等的解釋或提示,能提高程序代碼的可讀性。

注釋在程序中的作用是對程序進行注解和說明,便于對源碼的閱讀。編譯系統在對源代碼進行編譯時會自動忽略注釋的部分,因此注釋對于程序的功能實現不起任何作用。在源碼中適當地添加注釋,能夠提高源碼的可讀性。

注釋就是對代碼的解釋和說明。目的是為了讓別人和自己很容易看懂,一看就知道這段代碼是做什么用的。正確的程序注釋一般包括序言性注釋和功能性注釋。序言性注釋的主要內容包括模塊的接口、數據的描述和模塊的功能。模塊的功能性注釋的主要內容包括程序段的功能、語句的功能和數據的狀態。

go 注釋的分類

go 的注釋有行注釋 // 和塊注釋 /* */ 之分。在實際的使用中,行注釋使用得比較多,塊注釋主要用于格式化大段代碼或包的注釋中使用。

在 goland 中行注釋的快捷鍵為 Ctrl+/, 塊注釋的快捷鍵為 Ctrl+Shift+/

應用

文件注釋

在每個文件中前都加上一段注釋,這段注釋用來描述 作者,時間,以及版權。

我們可以隨便打開一個包查看,如 builtin.go 包中

// Copyright 2011 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file.
登錄后復制

就有時間 2011, 作者 go,和版權,我們可以隨便打開其他文件,可以發現只有時間在變,而其他都沒有變化。

在 goland 中可以在 Settings/Editor/File and Code Templates/Files/Go File 中尋改文件注釋模板,這樣每次新建文件都會自動生成注釋。

這是我的模板

//@program: ${PROJECT_NAME} //@author: edte //@create: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE} package ${GO_PACKAGE_NAME}
登錄后復制

包注釋

包注釋用來描述介紹這個包,以及提供包的一些信息。

在 go 中,一個 目錄中只有一個包(不包擴子目錄),所以一個包中可以有多個文件,一般在其中一個文件寫上包注釋即可。

同樣的,我們來看 builtin 這個包 中的 builtin.go 文件

/*     Package builtin provides documentation for Go's predeclared identifiers.     The items documented here are not actually in package builtin     but their descriptions here allow godoc to present documentation     for the language's special identifiers. */
登錄后復制

可以看到 builtin 包的作用是給預定義標識符提供文檔。

我們同樣來看 errors 包中的 errors.go 文件,可以看到包注釋很長

// Package errors implements functions to manipulate errors.
登錄后復制

這里講了包 errors 實現了一些處理錯誤的功能。

// The New function creates errors whose only content is a text message. // // The Unwrap, Is and As functions work on errors that may wrap other errors.
登錄后復制

后面還有一大堆,講了 errors 包相關的文件,原理,應用等信息。

如果我們繼續查看源碼,會發現包注釋都是以 package + 一個動詞 開頭的,一般這個短句就說明了這個包的功能,然后再視具體的包說明包的其他信息。

函數注釋

函數注釋用來描述函數的功能,以及其他相關的信息。

我們同樣來看 errros 包中的 errors.go 文件

// New returns an error that formats as the given text. // Each call to New returns a distinct error value even if the text is identical. func New(text string) error {     return &errorString{text} }
登錄后復制

這里用一句話說明了 New 功能的作用,即返回一個自定義的錯誤。

然后又用一句話說了這個函數相關的特點,即使文本相同,每次對 New 的調用也會返回一個不同的錯誤值。

如果同樣查看其他源碼中的函數,我們發現一般幾乎都是 函數名 + 一個動詞 的句子開頭。這個句子同樣說明了這個函數的作用,即函數干了些什么。

而其他需要講解的信息則以復雜度為基礎,如果感覺某個點不容易理解,那么最好都要寫注釋,如函數簽名,函數原理,函數使用過程中需要注意的點等。

數據類型注釋

數據類型注釋說明 這個數據類型用來干什么。

如 errors.go 中

// errorString is a trivial implementation of error. type errorString struct {     s string }
登錄后復制

這里就說明了 errorString 的作用,即 error 的具體實現。

如 built.go 中

// bool is the set of boolean values, true and false. type bool bool  // true and false are the two untyped boolean values. const (     true  = 0 == 0 // Untyped bool.     false = 0 != 0 // Untyped bool. )  // The error built-in interface type is the conventional interface for // representing an error condition, with the nil value representing no error. type error interface {     Error() string }
登錄后復制

幾乎都是以 類型名 + is 開頭的句子,這個句子說明了這個類型的作用。

TODO

TODO 即 to do, 是一個特殊的注釋,表明在此處有功能等待編寫,

FIXME

FIXME 即 fix me, 也是一個特殊的注釋,表明此處的功能需要修正,甚至不能運行

XXX

XXX 也是一個特殊的注釋,表明此處的功能實現方法有點問題,需要更改

godoc

godoc 是一個實用的工具,可以根據特定的注釋格式生成文檔。也可以用來查看文檔,同樣的 go doc 命令也是相似的作用,具體的可以查看這篇文章。

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
精品这里只有精品| 99九九99九九九99九他书对| 一级全黄肉体裸体全过程| 国产av熟女一区二区三区| 国产精品久久久久9999爆乳| 国产精品国产对白熟妇| 欧美一区二区中文字幕| 国产曰肥老太婆无遮挡| 在线视频一二三区| 国产av天堂无码一区二区三区| 免费在线观看的av网站| 午夜一级免费视频| 男人天堂av片| 日韩av播放器| 天天综合天天添夜夜添狠狠添| 伊人五月天婷婷| 午夜影院免费观看视频| 999精品视频在线| 激情六月天婷婷| 中文字幕欧美人妻精品一区| 色戒在线免费观看| 男的插女的下面视频| 国产九九在线观看| 无码人妻少妇伦在线电影| 天堂视频免费看| 中文字幕资源在线观看| 18禁男女爽爽爽午夜网站免费| 911福利视频| 欧美一级在线看| 天天色天天干天天色| 欧美视频第三页| 亚洲五码在线观看视频| 在线视频日韩一区 | 午夜探花在线观看| 国产资源在线视频| 日本男女交配视频| 看av免费毛片手机播放| 亚洲一区 在线播放| 黄色永久免费网站| 能在线观看的av| 国产高清av在线播放| 成年人免费观看的视频| 亚洲欧美久久久久| 日日摸天天爽天天爽视频| 日韩在线观看a| 青草全福视在线| 8x8x成人免费视频| 182午夜在线观看| 国产高清视频网站| 国模吧无码一区二区三区| 一本久道高清无码视频| gogogo免费高清日本写真| 一区二区三区四区免费观看| 国产视频一视频二| 亚洲人精品午夜射精日韩| 久久亚洲a v| 成人一区二区av| 好吊色视频988gao在线观看| 日本黄色播放器| 天天综合天天添夜夜添狠狠添| av无码精品一区二区三区| 青青在线免费观看视频| 色偷偷中文字幕| 糖心vlog在线免费观看| 日本在线视频www色| 爱爱爱视频网站| 国产在线拍揄自揄拍无码| 粉嫩av一区二区三区天美传媒| 黄色www在线观看| 久草视频国产在线| 免费观看中文字幕| 国产一区二区三区小说| 少妇高潮喷水在线观看| 久久久久免费精品| 蜜桃网站在线观看| 国产一区二区三区乱码| 午夜免费福利小电影| 女人扒开屁股爽桶30分钟| 天天干天天综合| 日本一区二区免费高清视频| 激情成人开心网| 六月丁香激情网| 久久国产精品网| 国产精品69页| 久久精品一卡二卡| 国产精品一线二线三线| 欧美成人免费高清视频| 婷婷激情四射五月天| 欧美久久久久久久久久久久久久| av中文字幕网址| 性高湖久久久久久久久aaaaa| 欧美日韩一道本| 色一情一区二区三区| 五月天在线免费视频| 日韩少妇内射免费播放18禁裸乳| 草草草在线视频| 亚洲成人天堂网| www.日日操| www国产无套内射com| 欧美成人免费高清视频| 久久久精品视频国产| 成人免费aaa| 手机在线国产视频| 视色视频在线观看| 91 视频免费观看| 欧美亚洲色图视频| 午夜剧场高清版免费观看 | 久青草视频在线播放| 大j8黑人w巨大888a片| 欧美一级视频在线播放| 国产乱子伦农村叉叉叉| 精品国产三级a∨在线| 色婷婷综合久久久久中文字幕| 性久久久久久久久久久久久久| 国产成人精品视频免费看| 日韩精品福利片午夜免费观看| 国产一级不卡毛片| 97超碰国产精品| 久久国产精品网| 国产在线拍揄自揄拍无码| 五月婷婷六月合| 欧美国产激情视频| 青春草国产视频| 尤物网站在线看| 午夜免费看视频| 日本www.色| 日av中文字幕| 国产av麻豆mag剧集| 亚洲av综合色区| 国内外成人免费在线视频| 99re在线视频免费观看| 精品国产一区三区| 潘金莲一级淫片aaaaa免费看| 亚洲欧美日韩一级| 欧美污视频网站| 国产精品久久久久久久乖乖| 轻点好疼好大好爽视频| 久久久久亚洲av无码专区喷水| 91女神在线观看| 青青草视频国产| 激情婷婷综合网| 日本a√在线观看| 精品久久久久久中文字幕2017| 97国产精东麻豆人妻电影| www国产精品内射老熟女| 无码人妻精品一区二区三区99v| 午夜免费视频网站| 看欧美ab黄色大片视频免费| 日本xxx免费| 成年人深夜视频| 菠萝蜜视频在线观看入口| www.激情网| 5月婷婷6月丁香| 97国产精东麻豆人妻电影 | 爱情岛论坛成人| 亚洲午夜无码av毛片久久| 岳毛多又紧做起爽| www.av蜜桃| 男女h黄动漫啪啪无遮挡软件| 一级特黄妇女高潮| 国产综合中文字幕| 欧美色图另类小说| 最新中文字幕2018| 青青草原播放器| 欧美精品在欧美一区二区| 亚洲视频在线不卡| 国产色视频在线播放| 国产 国语对白 露脸 | 日本成年人网址| 色婷婷综合久久久久中文字幕| 三上悠亚在线一区二区| 色婷婷综合在线观看| www.av片| 一道本视频在线观看| 黄色一级视频在线播放| 91淫黄看大片| 日本一二三区视频在线| 青青草视频在线视频| 成熟了的熟妇毛茸茸| 黄色大片中文字幕| 免费在线看黄色片| 成年人深夜视频| 日韩成人三级视频| 国产911在线观看| 喜爱夜蒲2在线| 丰满人妻一区二区三区53号| av动漫免费观看| 91精品一区二区三区四区| 神马午夜伦理影院| 毛片av在线播放| 亚洲人精品午夜射精日韩 | 日本在线视频www色| 波多野结衣激情| 狠狠干视频网站| a级黄色小视频| 青青草原av在线播放| 亚洲 中文字幕 日韩 无码| av网址在线观看免费| 欧美成人黑人猛交| 九色porny自拍|