A kommentekkel jegyzeteket hagyhatsz a kódban anélkül, hogy az befolyásolná a működését.
Az egysoros komment a sor bármely pontján a // jellel kezdődik.
A fordító a // után mindent figyelmen kívül hagy a sor végéig.
Ha a komment ugyanabban a sorban a kód után áll, azt gyakran soron belüli kommentnek nevezik.
A többsoros komment a sor bármely pontján a /* jellel kezdődik és a */ jellel végződik.
A fordító mindent figyelmen kívül hagy, ami a kettő között van, akár több soron át is.
// 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. */
A kommentek attól függően más-más célt szolgálnak, hogy hol jelennek meg.
A kódkommentek azt magyarázzák meg, hogy miért teszünk valamit, nem azt, hogy mit. Akkor használd őket, amikor egy döntés okai nem nyilvánvalóak a kódból:
results = results[1:] // skipping the header row
A legtöbb esetben a világosan megírt kód magáért beszél, és nincs szükség kommentekre. Néha viszont szükség van rá, hogy a kód valami bonyolultat vagy váratlant tegyen; az ilyen kódot érdemes kommentelni.
A dokumentációs kommentekkel csomagokat, változókat vagy függvényeket dokumentálhatsz.
Ez a dokumentáció más programozóknak szól, akik szeretnék megtudni, hogyan használják a kódodat.
Magas szinten magyarázza el, hogy mit tesz a kód, és hogyan kell használni.
Nem szabad részleteznie, hogyan működik maga a kód.
A dokumentációs kommentek közvetlenül egy deklaráció előtt állnak, anélkül, hogy üres sor választaná el a kommentet a deklarációtól.
A godoc elemzi őket, és csomagdokumentációt generál belőlük, ahogy az a pkg.go.dev oldalon is látható.
Egy dokumentációs komment legyen teljes mondat, amely az azonosító nevével kezdődik és ponttal végződik.
Az exportált azonosítókhoz (azokhoz, amelyek nagybetűvel kezdődnek) tartozó dokumentációs kommentek megjelennek a generált dokumentációban. A nem exportált azonosítókhoz (azokhoz, amelyek nem nagybetűvel kezdődnek) tartozó dokumentációs kommentek nem jelennek meg, de a kódon belül így is hasznos kontextust nyújthatnak.
A csomagokat dokumentáló kommentek a csomag nevével kezdődnek, és leírják, mit tesz a csomag:
// Package kelvin provides tools to convert temperatures to and from Kelvin.
package kelvin
A függvényeket dokumentáló kommentek a függvény nevével kezdődnek, és leírják, mit tesz a függvény, beleértve az argumentumait és a visszatérési értékeit:
// CelsiusFreezingTemp returns an integer value equal to the temperature at which water freezes in degrees Celsius.
func CelsiusFreezingTemp() int {
return 0
}
A változókat dokumentáló kommentek a változó nevével kezdődnek, és leírják, mit képvisel a változó:
// TemperatureFahrenheit represents a certain temperature in degrees Fahrenheit.
var TemperatureFahrenheit float64
A dokumentációs kommentek teljes specifikációját a Go dokumentációs útmutatójában találod.