Convenciones de nombres en Go (Golang): Referencia completa

5 min de lectura

Go impone convenciones de nombres mediante sus reglas de visibilidad: los nombres en mayúscula inicial se exportan (públicos) y los de minúscula inicial no se exportan (privados).

Visibilidad según mayúsculas

func GetUser() {}  // Exportada — accesible desde otros paquetes
func getUser() {}  // No exportada — privada del paquete

Convenciones

ElementoConvenciónEjemplo
Paqueteminúsculas, una sola palabrahttp, fmt, json
VariablecamelCaseuserName, maxRetries
Función (exportada)PascalCaseParseJSON
Función (no exportada)camelCaseparseJSON
InterfazPascalCase + sufijo -erReader, Writer, Stringer
StructPascalCaseHttpClient
ConstantecamelCase o PascalCasemaxSize, StatusOK

Reglas específicas de Go

  • Sin SCREAMING_SNAKE_CASE para constantes — Go usa camelCase/PascalCase
  • Las siglas se mantienen en mayúsculas: HTTPClient, XMLParser, URL
  • Los getters no usan el prefijo «Get»: user.Name() en lugar de user.GetName()
  • Los nombres de paquete no deben repetirse en los nombres exportados: http.Client en lugar de http.HttpClient

Convertir

Conversor a camelCase o PascalCase. Hub.