Kommentare ermöglichen es dir, Notizen im Code zu hinterlassen, ohne das Verhalten des Programms zu beeinflussen.
Ein einzeiliger Kommentar beginnt mit // und kann an jeder Stelle einer Zeile stehen.
Der Compiler ignoriert alles von // bis zum Ende dieser Zeile.
Steht ein Kommentar in derselben Zeile nach Code, spricht man oft von einem Inline-Kommentar.
Ein mehrzeiliger Kommentar beginnt mit /* und endet mit */; beides kann an jeder Stelle einer Zeile stehen.
Der Compiler ignoriert alles dazwischen, über eine oder mehrere Zeilen hinweg.
// This is a single-line comment on its own line
x := 1 // This is an single-line comment inline with code
fmt.Println(x) // prints 1
/*
This is a valid
multiline comment.
*/
/* This is also a valid multi-line comment. */
Kommentare erfüllen je nach Ort unterschiedliche Zwecke.
Code-Kommentare erklären, warum etwas getan wird, nicht was. Nutze sie, wenn der Grund hinter einer Entscheidung nicht offensichtlich aus dem Code hervorgeht:
results = results[1:] // skipping the header row
In den meisten Fällen ist klar geschriebener Code selbsterklärend, und Kommentare sind nicht nötig. Gelegentlich muss der Code etwas Komplexes oder Unerwartetes tun; solche Stellen sollten kommentiert werden.
Doc-Kommentare dokumentieren ein Paket, eine Variable oder eine Funktion.
Diese Dokumentation richtet sich an andere Programmierer, die wissen möchten, wie sie deinen Code verwenden.
Sie sollte auf hoher Ebene erklären, was der Code tut und wie man ihn verwendet.
Sie sollte keine Details darüber enthalten, wie der Code selbst funktioniert.
Doc-Kommentare stehen direkt vor einer Deklaration, ohne Leerzeile zwischen Kommentar und Deklaration.
godoc liest sie ein, um Paketdokumentation zu erzeugen, wie man sie auf pkg.go.dev sieht.
Ein Doc-Kommentar sollte ein vollständiger Satz sein, der mit dem Namen des Bezeichners beginnt und mit einem Punkt endet.
Doc-Kommentare zu exportierten Bezeichnern (solche, die mit einem Großbuchstaben beginnen) erscheinen in der generierten Dokumentation. Doc-Kommentare zu nicht exportierten Bezeichnern (solche, die nicht mit einem Großbuchstaben beginnen) erscheinen nicht, können aber trotzdem nützlichen Kontext im Code liefern.
Kommentare, die Pakete dokumentieren, beginnen mit dem Paketnamen und beschreiben, was das Paket tut:
// Package kelvin provides tools to convert temperatures to and from Kelvin.
package kelvin
Kommentare, die Funktionen dokumentieren, beginnen mit dem Funktionsnamen und beschreiben, was die Funktion tut, einschließlich ihrer Argumente und Rückgabewerte:
// CelsiusFreezingTemp returns an integer value equal to the temperature at which water freezes in degrees Celsius.
func CelsiusFreezingTemp() int {
return 0
}
Kommentare, die Variablen dokumentieren, beginnen mit dem Variablennamen und beschreiben, was die Variable darstellt:
// TemperatureFahrenheit represents a certain temperature in degrees Fahrenheit.
var TemperatureFahrenheit float64
Die vollständige Spezifikation für Doc-Kommentare findest du im Leitfaden zur Go-Dokumentation.