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一区二区
91丝袜超薄交口足| 波多野结衣之无限发射| 人人干人人视频| 一二三四视频社区在线| 在线观看18视频网站| 国产成人精品免费看在线播放| 黄色片视频在线免费观看| 成人免费视频91| 国产乱子伦农村叉叉叉| 久久人人爽人人爽人人av| www.av毛片| 逼特逼视频在线| av动漫免费看| 国产日韩欧美久久| 肉色超薄丝袜脚交| 欧美这里只有精品| 久久国产亚洲精品无码| 老司机午夜av| 韩国黄色一级大片| 免费看国产一级片| youjizzxxxx18| 特级毛片在线免费观看| 91成人综合网| 欧美 国产 小说 另类| 911福利视频| 欧美 亚洲 视频| www.日日操| 免费看黄色a级片| 男女超爽视频免费播放| 制服丝袜综合网| 国产欧美综合一区| av无码精品一区二区三区| 中文字幕日韩综合| 91视频 -- 69xx| 老司机av福利| 97公开免费视频| 日韩国产成人无码av毛片| 久久精品午夜福利| 国产成人亚洲综合无码| 国产wwwxx| 成年人午夜免费视频| 国产一二三四在线视频| 国产日韩欧美精品在线观看| 成人不卡免费视频| 日批视频在线免费看| 日韩精品手机在线观看| 日韩大片一区二区| 欧美三级午夜理伦三级| 青青在线视频免费观看| 免费精品99久久国产综合精品应用| 国产综合中文字幕| 潘金莲一级淫片aaaaa免费看| 日日噜噜噜噜久久久精品毛片| 亚洲熟妇无码av在线播放| 在线观看免费视频污| 天天色综合社区| 99草草国产熟女视频在线| 毛片在线播放视频| 日本手机在线视频| 色播五月综合网| 樱空桃在线播放| 国产资源第一页| 日韩av在线综合| 欧美aaa在线观看| 日本免费色视频| 欧美 日韩 国产一区| 今天免费高清在线观看国语| 污污的网站免费| 国产精品久久久毛片| 黄色一级视频在线播放| 黄色高清视频网站| 亚洲这里只有精品| 日韩中文字幕a| 91pony九色| 激情五月六月婷婷| 你真棒插曲来救救我在线观看| 国产精品igao激情视频| 日本aa在线观看| 欧美一级视频免费看| 亚洲熟妇av一区二区三区| 国产黄色特级片| 狠狠躁狠狠躁视频专区| 狠狠操狠狠干视频| 在线观看成人免费| 欧美久久久久久久久久久久久| 啊啊啊一区二区| 国产aⅴ爽av久久久久| 日本一本草久p| 欧美日韩二三区| 一个色综合久久| www.国产亚洲| 欧美日韩大尺度| 大桥未久一区二区| 北条麻妃在线观看| 亚洲五月激情网| 国产素人在线观看| 国产一级特黄a大片免费| 性做爰过程免费播放| 1024av视频| 免费成人深夜夜行网站视频| 9久久9毛片又大又硬又粗| 91n.com在线观看| 免费视频爱爱太爽了| 色91精品久久久久久久久| 青春草国产视频| 在线播放免费视频| 国内外成人激情视频| 99热都是精品| 中文字幕视频在线免费观看| 国产成人永久免费视频| 亚洲免费黄色录像| 欧美xxxxx在线视频| 国产免费一区二区三区四在线播放| 精品视频在线观看一区| 亚洲色图都市激情| 国产三级三级看三级| 久久无码高潮喷水| 国产乱人伦精品一区二区三区| 色播五月综合网| 亚洲中文字幕久久精品无码喷水| 小泽玛利亚av在线| 亚洲高清av一区二区三区| 中文字幕国产传媒| 欧美视频免费播放| 亚洲精品无码久久久久久| 丝袜人妻一区二区三区| 日本精品久久久久久久久久| 中文字幕色网站| 欧美一级特黄aaa| 男女爽爽爽视频| 天天操天天爱天天爽| 一级在线免费视频| 亚洲 欧美 日韩系列| 中文字幕有码av| www午夜视频| www.51色.com| dy888午夜| 日本人体一区二区| 成人免费性视频| 日韩在线综合网| 韩国一区二区av| 中文字幕第80页| 国产成人强伦免费视频网站| 肉色超薄丝袜脚交| 青青草视频在线视频| 国产精品国产对白熟妇| 国产亚洲精品网站| www.cao超碰| 美女在线免费视频| 少妇人妻在线视频| www一区二区www免费| 五月婷婷狠狠操| 在线一区二区不卡| www.avtt| jizz欧美性11| 九一免费在线观看| 欧美黄网站在线观看| 亚洲午夜激情影院| 欧美在线一区视频| 污污网站免费观看| 日本精品久久久久久久久久| 国产日韩成人内射视频| 欧美日韩视频免费在线观看| 我的公把我弄高潮了视频| 高清一区二区视频| 欧美日韩中文字幕在线播放| 国产91在线视频观看| 波多野结衣在线免费观看| 欧美视频免费看欧美视频| 欧美日韩中文不卡| 欧美激情视频免费看| 亚洲精品永久视频| 日韩精品―中文字幕| 国产四区在线观看| 蜜桃免费在线视频| 欧美日韩黄色一级片| 国产免费一区二区三区四在线播放| 欧美爱爱视频免费看| dy888午夜| 性刺激的欧美三级视频| 玩弄中年熟妇正在播放| 国产香蕉一区二区三区| 国产小视频精品| 亚洲熟妇无码一区二区三区| 免费成人深夜夜行网站视频| 五月天激情视频在线观看| 欧美精品久久久久久久久久久| 深爱五月综合网| 亚洲综合日韩欧美| 久久久久久久激情| 亚洲午夜无码av毛片久久| 男女激情免费视频| 成人在线观看毛片| 欧美国产在线一区| 久久6免费视频| 亚洲精品自拍网| www.日本一区| 污视频网址在线观看| 亚洲天堂网2018| 日本中文字幕观看|