本篇内容主要讲解“Go语言注释的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“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 文件
可以看到 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 命令也是相似的作用。
到此,相信大家对“Go语言注释的作用是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!