Go语言注释的作用是什么

注释在程序中的作用是对程序进行注解和说明,高程序代码的可读性,便于对源码的阅读;目的是为了让别人和自己很容易看懂,一看就知道这段代码是做什么用的。go的注释有行注释“//”和块注释“/* */”之分;在实际的使用中,行注释使用得比较多,块注释主要用于格式化大段代码或包的注释中使用。

注释有什么作用

注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。

注释在程序中的作用是对程序进行注解和说明,便于对源码的阅读。编译系统在对源代码进行编译时会自动忽略注释的部分,因此注释对于程序的功能实现不起任何作用。在源码中适当地添加注释,能够提高源码的可读性。

注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂,一看就知道这段代码是做什么用的。正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。

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 命令也是相似的作用。

阅读剩余 70%

原创文章,作者:VAVTM,如若转载,请注明出处:https://www.beidanyezhu.com/a/30625.html

(0)
VAVTM的头像VAVTM
上一篇 2025-02-19 21:25:18
下一篇 2025-02-19

相关推荐

  • 语言(逅怎么读)

    引 言吴语是汉语族的一个重要分支,分布在江苏南部、浙江省大部、上海市全境,安徽南部及福建、江西的小部分地区。学术界将其分爲太湖片、台州片、东瓯片、婺州片、处衢片、宣州片六个小片。其…

  • 语言的谋略(洛邑怎么读)

    第十七辑 国家政策辩论的谋略与技巧文/钟百超 每个人对一定事物或做法都有自己的主见,而这个主见的形成与个人的信仰、理念、知识、修养,乃至利益都有密切相关。一个人能否提出一个有利于国…

  • 家用漏电开关的作用很大(开关插座怎么接线)

    对于家庭中所使用的漏电开关还是比较多的。像我们常规的家庭配电箱内除了一个主开关和照明回路开关是空气开关以外,其余的大部分都是漏电保护开关。而漏电保护开关是保护我们家里的用电的电器,…

  • 怎么在Go语言中隐藏窗口

    获取窗口句柄 在操作窗口之前,需要先获取窗口的句柄。在Windows平台上,每个窗口都有一个唯一的句柄用于标识该窗口。可以使用Windows API函数FindWindow或者Fi…

  • 怎么使用Go语言实现时间轮

    时间轮概述 时间轮是一种基于时间概念的循环缓冲区,可以将其视为一个圆形的缓冲区,其大小为m(2的幂次)。每次时间轮转动一个单位,例如1毫秒,所有缓冲区指向的内容也随之发生改变。在时…

  • Go语言怎么删除MongoDB中的文档

    一、删除文档 删除单个文档 首先,我们来看如何使用mgo删除单个文档。 session, err := mgo.Dial("localhos…

  • 怎么在Ubuntu系统中安装Go语言

    下载Go语言 Go语言的安装包可以在官方网站上下载。在下载之前,您应该确认需要的系统版本和Go语言的版本。您可以按照以下命令查看您正在使用的Ubuntu版本: $ lsb…

  • Go语言中除法运算的效率怎么提高

    近年来,Go语言在程序员中的人气越来越高,在高并发场景下的优势尤为突出。作为一门强调高效率的语言,Go语言的性能一直 在计算机科学中,除法运算是一种非常常见的运算。在Go语言中,最…

  • 怎么使用Go语言实现数据转发功能

    首先,我们需要考虑数据实体的格式。在许多情况下,使用JSON格式最为方便。Go语言中有一个标准库“encoding/json”可以提供JSON编解码功能。我们可以使用它来将我们的数…

  • 怎么以正确的方式替换Go语言程序自身

    Go语言是一门越来越受欢迎的编程语言,其致力于简化开发过程并提高编译速度。与其他编程语言相比,Go语言具有更好的并发性和易读性。在Go语言中,替换自己是一个常见的模式。在此文中,我…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分享本页
返回顶部