Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Rolle spielen Kommentare in der Go-Sprache?

Welche Rolle spielen Kommentare in der Go-Sprache?

青灯夜游
青灯夜游Original
2023-01-18 15:56:582148Durchsuche

Die Rolle von Kommentaren im Programm besteht darin, das Programm zu kommentieren und zu erklären, die Lesbarkeit des Programmcodes zu verbessern und das Lesen des Quellcodes zu erleichtern. Der Zweck besteht darin, ihn für andere und Sie selbst verständlich zu machen wissen Sie auf einen Blick, dass dieser Code wofür verwendet wird. Die Kommentare von Go sind in Zeilenkommentare „//“ und Blockkommentare „/* */“ unterteilt. Zeilenkommentare werden häufiger verwendet, und Blockkommentare werden hauptsächlich zum Formatieren großer Codeabschnitte oder zur Verwendung in Paketen verwendet.

Welche Rolle spielen Kommentare in der Go-Sprache?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.

Welche Rolle spielen Kommentare?

Kommentare sind Erklärungen und Beschreibungen des Codes. Ihr Zweck besteht darin, den Menschen das Verständnis des Codes zu erleichtern. Kommentare sind, wenn der Programmierer eine Erklärung oder einen Hinweis zu einer Anweisung, einem Programmabschnitt, einer Funktion usw. schreibt, die die Lesbarkeit des Programmcodes verbessern können.

Die Rolle von Kommentaren im Programm besteht darin, das Programm zu kommentieren und zu erklären, um das Lesen des Quellcodes zu erleichtern. Das Kompilierungssystem ignoriert den kommentierten Teil beim Kompilieren des Quellcodes automatisch, sodass die Kommentare bei der Realisierung der Funktion des Programms keine Rolle spielen. Durch entsprechendes Hinzufügen von Kommentaren zum Quellcode kann die Lesbarkeit des Quellcodes verbessert werden.

Kommentare sind Erklärungen und Beschreibungen des Codes. Der Zweck besteht darin, es anderen und Ihnen selbst leicht verständlich zu machen, und Sie können auf einen Blick erkennen, wofür dieser Code verwendet wird. Korrekte Programmkommentare umfassen im Allgemeinen Präambelkommentare und Funktionskommentare. Zu den Hauptinhalten der Präambelkommentare gehören die Modulschnittstelle, die Datenbeschreibung und die Modulfunktionen. Der Hauptinhalt der Funktionskommentare des Moduls umfasst die Funktion des Programmsegments, die Funktion der Anweisung und den Status der Daten.

Klassifizierung von Go-Kommentaren

Go-Kommentare werden in Zeilenkommentare // und Blockkommentare /* */ unterteilt. In der Praxis werden Zeilenkommentare häufiger verwendet, und Blockkommentare werden hauptsächlich zum Formatieren großer Codeabschnitte oder Paketkommentare verwendet. // 和块注释 /* */ 之分。在实际的使用中,行注释使用得比较多,块注释主要用于格式化大段代码或包的注释中使用。

在 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 + 一个动词

Die Tastenkombination für Zeilenkommentare in Goland ist Strg+/, und die Tastenkombination für Blockkommentare ist Strg+Umschalt+/

Application

Dateikommentar
🎜

Fügen Sie vor jeder Datei einen Kommentar hinzu, um den Autor, die Zeit und das Urheberrecht zu beschreiben. 🎜

Wir können ein Paket zur Überprüfung öffnen, z. B. das Paket „builtin.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}
}
🎜

Es gibt Zeit 2011, Autor Go und Urheberrecht , Wir können nach Belieben andere Dateien öffnen und feststellen, dass sich nur die Zeit ändert, sich aber sonst nichts geändert hat. 🎜

In Goland können Sie die Dateikommentarvorlage unter Einstellungen/Editor/Datei- und Codevorlagen/Dateien/Go-Datei finden und ändern, sodass Sie sie jederzeit verwenden können Wenn Sie eine neue Datei erstellen, werden automatisch Kommentare generiert. 🎜

Dies ist meine Vorlage 🎜🎜

// errorString is a trivial implementation of error.
type errorString struct {
    s string
}
🎜🎜🎜Paketkommentare🎜🎜

Paketkommentare werden verwendet, um dieses Paket zu beschreiben und vorzustellen sowie bereitzustellen einige Informationen zu den Paketinformationen. 🎜

In go gibt es nur ein Paket in einem Verzeichnis (Unterverzeichnisse ausgenommen), daher kann ein Paket mehrere Dateien enthalten. Schreiben Sie im Allgemeinen einfach einen Paketkommentar zu einer der Dateien. . 🎜

Schauen wir uns in ähnlicher Weise die Datei „builtin.go“ im integrierten Paket an🎜🎜

// 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
}
🎜

Sie können sehen, dass die Funktion des integrierten Pakets ist Zur Bereitstellung wird Dokumentation zum Definieren von Bezeichnern bereitgestellt. 🎜

Wir schauen uns auch die Datei „errors.go“ im Fehlerpaket an. Wir können sehen, dass die Paketkommentare sehr lang sind🎜🎜rrreee🎜

Hier Wir sprechen über die Paketfehler. Einige Fehlerbehandlungsfunktionen wurden implementiert. 🎜🎜rrreee🎜

Es gibt viele Dateien, Prinzipien, Anwendungen und andere Informationen im Zusammenhang mit dem Fehlerpaket. 🎜

Wenn wir uns den Quellcode weiter ansehen, werden wir feststellen, dass die Paketkommentare alle mit package + einem Verb beginnen. Im Allgemeinen erklärt dieser kurze Satz das Weitere Informationen finden Sie in der jeweiligen Paketbeschreibung. 🎜🎜🎜Funktionskommentare🎜🎜🎜Funktionskommentare werden verwendet, um die Funktion der Funktion und andere verwandte Informationen zu beschreiben. 🎜🎜Schauen wir uns auch die Datei „errors.go“ im Paket „errros“ an🎜🎜rrreee🎜

这里用一句话说明了 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视频教程编程教学

Das obige ist der detaillierte Inhalt vonWelche Rolle spielen Kommentare in der Go-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn