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
| Element | Konvention | Beispiel |
|---|---|---|
| Paket | kleingeschrieben, ein Wort | http, fmt, json |
| Variable | camelCase | userName, maxRetries |
| Funktion (exportiert) | PascalCase | ParseJSON |
| Funktion (nicht exportiert) | camelCase | parseJSON |
| Interface | PascalCase + -er-Suffix | Reader, Writer, Stringer |
| Struct | PascalCase | HttpClient |
| Konstante | camelCase oder PascalCase | maxSize, 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()stattuser.GetName() - Paketnamen sollten sich nicht in exportierten Namen wiederholen:
http.Clientstatthttp.HttpClient
Konvertieren
camelCase- oder PascalCase-Konverter. Hub.