Aller aux conventions de dénomination pour const

117

J'essaie de déterminer s'il existe une convention de dénomination pour les noms de constGolang.

Personnellement, j'aurais tendance à suivre le style C et à les écrire en majuscules, mais je n'ai rien trouvé sur cette page http://golang.org/doc/effective_go.html qui semble énumérer quelques conventions de nommage pour le langage.

LtWorf
la source
5
J'adorerais écrire des constantes dans le FOO_BAR_BAZstyle pour la lisibilité, mais malheureusement, cela affecte la visibilité de la constante et ce n'est pas courant. J'ai juste dû ravaler ma fierté et accepter la convention même si je ne l'aime pas.
byxor

Réponses:

131

La bibliothèque standard utilise camel-case, je vous conseille donc de le faire également. La première lettre est en majuscule ou en minuscule selon que vous souhaitez exporter la constante.

Quelques exemples:

  • md5.BlockSize
  • os.O_RDONLY est une exception car il a été emprunté directement à POSIX.
  • os.PathSeparator
à droite
la source
7
Il est également important de déterminer si vous souhaitez que votre constélément soit exposé à d'autres packages. Si vous utilisez UpperCamelCaseou que ALL_CAPSvous allez l'exporter en dehors de votre package. Pour cette raison, je m'en tiens aux lowerCamelCasevariables privées const, et je me souviens avoir lu cette recommandation de quelqu'un relativement proche du projet Go (ou peut-être même dans la documentation officielle - j'oublie où).
weberc2
81

Go Code Review Commentaires

Cette page rassemble les commentaires courants faits lors des révisions du code Go, de sorte qu'une seule explication détaillée puisse être référencée par des raccourcis. Ceci est une longue liste d'erreurs courantes, pas un guide de style.

Vous pouvez le consulter en complément de http://golang.org/doc/effective_go.html .

Casquettes mixtes

Voir http://golang.org/doc/effective_go.html#mixed-caps . Cela s'applique même s'il enfreint les conventions dans d'autres langues. Par exemple, une constante non exportée est maxLength et non MaxLength ou MAX_LENGTH.


Aller efficace

Capsules mixtes

Enfin, la convention dans Go consiste à utiliser MixedCaps ou mixedCaps plutôt que des traits de soulignement pour écrire des noms de plusieurs mots.


Spécification du langage de programmation Go

Identifiants exportés

Un identifiant peut être exporté pour permettre l'accès à celui-ci à partir d'un autre package. Un identifiant est exporté si les deux:

  • le premier caractère du nom de l'identifiant est une lettre majuscule Unicode (classe Unicode "Lu"); et

  • l'identifiant est déclaré dans le bloc de package ou il s'agit d'un nom de champ ou d'un nom de méthode.

Tous les autres identifiants ne sont pas exportés.


Utilisez des bouchons mixtes.

peterSO
la source
12

Exemples spécifiques. Notez que déclarer le type dans la constante (le cas échéant) peut être utile pour le compilateur.

// Only visible to the local file
const localFileConstant string = "Constant Value with limited scope"

// Exportable constant
const GlobalConstant string = "Everyone can use this"
Speedy99
la source