Avatar ·

Convenções de nomenclatura de constantes em Go: CamelCase, ALL_CAPS ou algo mais?

Olá a todos! Comecei a estudar Go recentemente, depois de Python e C#, e fico um pouco confuso com as convenções de nomenclatura de constantes. Em Python, geralmente usamos `ALL_CAPS` para constantes: `MAX_CONNECTIONS = 100`. Em C#, é comum usar `PascalCase`. Já em Go, vejo códigos diferentes em projetos diferentes. Por exemplo, na biblioteca padrão do Go, encontrei exemplos como: ```go // No pacote http const ( MethodGet = "GET" MethodPost = "POST" ) // No pacote os const ( O_RDONLY = 0x0 O_WRONLY = 0x1 ) ``` O primeiro exemplo usa CamelCase (`MethodGet`), e o segundo usa snake_case com letras maiúsculas (`O_RDONLY`). Quando perguntei a um colega, ele disse que em Go deve-se usar `CamelCase` para constantes exportadas e `lowerCamelCase` para constantes não exportadas. Mas então por que em `os` usa-se `O_RDONLY`? É uma constante exportada! Escrevi meu código assim: ```go package config const MAX_RETRIES = 3 const DEFAULT_TIMEOUT_SECONDS = 30 const DATABASE_URL = "localhost:5432" ``` Mas o linter reclam