Avatar ·

Convenciones de nomenclatura para constantes en Go: ¿CamelCase, ALL_CAPS o algo más?

¡Hola a todos! Acabo de empezar a aprender Go después de Python y C#, y las convenciones de nomenclatura para constantes me confunden un poco. En Python solemos usar `ALL_CAPS` para constantes: `MAX_CONNECTIONS = 100`. En C# se usa `PascalCase`. Y en Go veo código diferente en distintos proyectos. Por ejemplo, en la biblioteca estándar de Go me encontré con estos ejemplos: ```go // En el paquete http const ( MethodGet = "GET" MethodPost = "POST" ) // En el paquete os const ( O_RDONLY = 0x0 O_WRONLY = 0x1 ) ``` El primer ejemplo usa CamelCase (`MethodGet`), y el segundo usa snake_case con mayúsculas (`O_RDONLY`). Cuando le pregunté a un colega, dijo que en Go se debe usar `CamelCase` para constantes exportadas y `lowerCamelCase` para las no exportadas. ¡Pero entonces por qué en `os` se usa `O_RDONLY`? ¡Es una constante exportada! Escribí mi código así: ```go package config const MAX_RETRIES = 3 const DEFAULT_TIMEOUT_SECONDS = 30 const DATABASE_URL = "local