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一区二区
日韩video| www.-级毛片线天内射视视| 久久综合久久色| 那种视频在线观看| caopor在线视频| 亚洲免费av网| 一区二区三区日韩视频| 国产911在线观看| 亚洲 欧美 综合 另类 中字| 免费在线观看的av网站| 亚洲国产精品久久久久婷蜜芽| 欧美 日韩 亚洲 一区| a√天堂在线观看| 日本不卡一区二区在线观看| 青少年xxxxx性开放hg| 玖玖精品在线视频| 色欲色香天天天综合网www| 欧美三级午夜理伦三级| 午夜免费看毛片| youjizz.com亚洲| 福利视频一区二区三区四区| 日本免费观看网站| 欧美aaa在线观看| 亚洲熟妇无码一区二区三区| 不要播放器的av网站| 国产一区一区三区| 嫩草av久久伊人妇女超级a| 成年人黄色在线观看| 久久久999视频| 亚洲在线观看网站| www一区二区www免费| 欧美一级免费在线观看| 131美女爱做视频| 国内国产精品天干天干| 阿v天堂2018| 中文字幕资源在线观看| 大陆极品少妇内射aaaaaa| 日本成人在线免费视频| 日本美女爱爱视频| 爱爱爱爱免费视频| 欧美在线一区视频| 超碰91在线播放| 国产三区在线视频| 男女裸体影院高潮| 手机av在线网| 欧美视频第三页| 97超碰人人澡| 爱爱爱视频网站| 欧美两根一起进3p做受视频| 野外做受又硬又粗又大视频√| 九九热99视频| 91视频最新入口| 免费看日本毛片| 成人午夜免费在线视频| 中文字幕在线综合| 国产性生交xxxxx免费| 国产视频九色蝌蚪| www.av91| 免费看欧美黑人毛片| 加勒比海盗1在线观看免费国语版| gogogo高清免费观看在线视频| 蜜臀av午夜一区二区三区| 日韩免费视频播放| 国产www免费| 真实国产乱子伦对白视频| 青青草原播放器| 国产天堂在线播放| 一区二区三区视频在线观看免费| 黄色片视频在线| 日韩欧美理论片| 向日葵污视频在线观看| 国产激情在线观看视频| 中文字幕欧美人妻精品一区| 韩国日本在线视频| 国产福利一区视频| 欧美精品第三页| 一级片视频免费观看| 少妇黄色一级片| 五月婷婷之婷婷| 九九九九九伊人| 在线观看视频在线观看| 老汉色影院首页| 国产美女在线一区| 无码专区aaaaaa免费视频| 日韩久久一级片| 爱爱爱爱免费视频| 五月天在线免费视频| 91黄色在线看| 国产精品亚洲a| 日本超碰在线观看| 日韩精品aaa| 国产成人在线小视频| 久久久999视频| 中文字幕成人在线视频| 中文字幕精品在线播放| 成人精品视频在线播放| 成人一级片网站| 欧美视频国产视频| 欧美另类videos| 欧美视频第一区| 黄瓜视频免费观看在线观看www| 日韩精品一区二区三区四| 亚欧无线一线二线三线区别| 99视频在线视频| 国产精品久久久影院| 国产男女在线观看| 午夜精品免费看| 日日摸日日碰夜夜爽无码| 亚洲综合日韩欧美| 日b视频免费观看| 国产真人无码作爱视频免费| 成人手机视频在线| 国产l精品国产亚洲区久久| 亚洲欧美天堂在线| 色综合久久久久无码专区| 色一情一区二区三区| 日本人体一区二区| 久久出品必属精品| 黑人糟蹋人妻hd中文字幕| 国产一区一区三区| 免费看污污网站| 欧美狂野激情性xxxx在线观| 亚欧激情乱码久久久久久久久| 国产一级做a爰片久久毛片男| 热久久精品免费视频| av在线免费观看国产| jizz大全欧美jizzcom| 精品国产一二三四区| 国产日产欧美一区二区| 亚洲欧美日韩精品一区| 国产偷人视频免费| 777av视频| 欧美 国产 精品| 午夜精品中文字幕| 99蜜桃臀久久久欧美精品网站| 国产在线拍揄自揄拍无码| 中文字幕中文在线| 999精品网站| 黑森林福利视频导航| 久久亚洲精品无码va白人极品| 免费看av软件| 毛片毛片毛片毛片毛| 一区二区三区入口| 欧美在线观看视频网站| 水蜜桃色314在线观看| 国产91视频一区| 一级特黄妇女高潮| av在线网站免费观看| 手机av在线网| 精品国产乱码久久久久久1区二区| 国产xxxxx视频| 激情网站五月天| 国产亚洲欧美在线视频| 国产精品自拍片| 国内性生活视频| 凹凸国产熟女精品视频| 国内外成人激情视频| 日本精品免费在线观看| 国产成人黄色片| 99草草国产熟女视频在线| av无码精品一区二区三区| 美女网站免费观看视频| 亚洲免费av一区二区三区| 欧美丰满熟妇xxxxx| 手机在线免费观看毛片| 亚洲这里只有精品| 在线观看免费av网址| 午夜在线视频免费观看| 男人添女人下部视频免费| 福利在线一区二区| 欧美网站免费观看| 久久久久久久久久福利| 欧美成人黄色网址| 在线免费黄色网| 久久天天东北熟女毛茸茸| 欧美日韩不卡在线视频| 麻豆av免费在线| 天天综合天天添夜夜添狠狠添| www.久久com| 精品人妻少妇一区二区| 韩国日本在线视频| 天天干天天av| 日韩精品在线观看av| 国产黄色特级片| 亚洲综合123| 国产白丝袜美女久久久久| 午夜精品久久久内射近拍高清| 午夜两性免费视频| 水蜜桃在线免费观看| 免费无码不卡视频在线观看| 一区二区三区国产免费| 手机在线视频你懂的| 777久久久精品一区二区三区| 中文字幕天天干| 免费的一级黄色片| 亚洲熟妇av一区二区三区| 99精品视频免费版的特色功能| 国产日韩av网站| 五月花丁香婷婷| 成人黄色av片|