Go-Namenskonventionen: Die vollständige Referenz

5 Min. Lesezeit

Go erzwingt Namenskonventionen über seine Sichtbarkeitsregeln: Großgeschriebene Namen sind exportiert (öffentlich), kleingeschriebene sind nicht exportiert (privat).

Sichtbarkeit nach Schreibweise

func GetUser() {}  // Exportiert — aus anderen Paketen zugänglich
func getUser() {}  // Nicht exportiert — paketprivat

Konventionen

ElementKonventionBeispiel
Paketkleingeschrieben, ein Worthttp, fmt, json
VariablecamelCaseuserName, maxRetries
Funktion (exportiert)PascalCaseParseJSON
Funktion (nicht exportiert)camelCaseparseJSON
InterfacePascalCase + -er-SuffixReader, Writer, Stringer
StructPascalCaseHttpClient
KonstantecamelCase oder PascalCasemaxSize, StatusOK

Go-spezifische Regeln

  • Kein SCREAMING_SNAKE_CASE für Konstanten — Go nutzt camelCase/PascalCase
  • Akronyme bleiben durchgehend großgeschrieben: HTTPClient, XMLParser, URL
  • Getter verwenden kein „Get"-Präfix: user.Name() statt user.GetName()
  • Paketnamen sollten sich nicht in exportierten Namen wiederholen: http.Client statt http.HttpClient

Konvertieren

camelCase- oder PascalCase-Konverter. Hub.