Sintaxis
En Go esto no es una cuestión de estilo, es una cuestión de sintaxis.
Los nombres exportados (es decir, los identificadores que se pueden usar desde un paquete diferente al que están definidos) comienzan con una letra mayúscula. Por lo tanto, si su método es parte de su API pública, debe escribirse:
WriteToDB
pero si es un método auxiliar interno, debería escribirse:
writeToDB
La ventaja de hacerlo de esta manera sobre el uso de palabras clave para definir exportedness ( extern
, public
, etc.) es que lo que es una parte de los que asegura nombre en cualquier lugar de un identificador se utiliza se puede decir si se exporta o no sin tener que encontrar donde se definió (para ver si la definición contiene una palabra clave).
Consulte también: Identificadores exportados de la especificación.
i18n
Debido a que Go está codificado en UTF-8 y admite cualquier carácter Unicode con la propiedad de letras o números en los nombres de los identificadores, algunas personas en configuraciones regionales que no tienen un concepto de caso pueden tener problemas para crear métodos exportados (el valor predeterminado es no exportado). En este caso (juego de palabras) es común anteponer identificadores con un X
para indicar exportedness. Por ejemplo:X日本語
Consulte también: ¿Qué pasa con los identificadores Unicode? de las preguntas frecuentes.
Estilo
En cuanto al estilo general, es utilizar siempre camel-case (excepto la primera letra, como se mencionó anteriormente). Esto incluye constantes, funciones y otros identificadores. Entonces, por ejemplo, una lista de constantes (exportadas) podría verse así:
const (
StateConnected = iota
StateError
StateDone
internalStateMask = 0x2
)
Además, las abreviaturas siempre se escriben con el mismo caso, por lo que debería escribir una de las siguientes:
dbWrite
writeDB
en lugar de writeDb
o DbWrite
.