web-dev-qa-db-ja.com

constの命名規則に行く

Golangのconstの名前に命名規則があるかどうかを判断しようとしています。

私は個人的にCスタイルに従って大文字で書く傾向がありますが、このページには何も見つかりませんでした http://golang.org/doc/effective_go.html 言語のいくつかの命名規則。

95
LtWorf

標準ライブラリはキャメルケースを使用しているため、同様に行うことをお勧めします。最初の文字は、定数をエクスポートするかどうかに応じて大文字または小文字です。

いくつかの例:

  • md5.BlockSize
  • os.O_RDONLYは、POSIXから直接借用されたため、例外です。
  • os.PathSeparator
96
rightfold

コードレビューのコメントに行く

このページでは、Goコードのレビュー中に行われた一般的なコメントを収集します。これにより、単一の詳細な説明を簡単に参照できます。これはよくある間違いのリストであり、スタイルガイドではありません。

これは http://golang.org/doc/effective_go.html の補足として見ることができます。

混合キャップ

http://golang.org/doc/effective_go.html#mixed-caps を参照してください。これは、他の言語の規則に違反する場合でも適用されます。たとえば、エクスポートされない定数は、MaxLengthまたはMAX_LENGTHではなくmaxLengthです。


効果的なGo

MixedCaps

最後に、Goの規則では、アンダースコアではなくMixedCapsまたはmixedCapsを使用してマルチワード名を記述します。


Goプログラミング言語仕様

エクスポートされた識別子

別のパッケージからのアクセスを許可するために、識別子をエクスポートできます。両方の場合、識別子がエクスポートされます:

  • 識別子の名前の最初の文字はUnicode大文字(Unicodeクラス「Lu」)です。そして

  • 識別子はパッケージブロックで宣言されているか、フィールド名またはメソッド名です。

他のすべての識別子はエクスポートされません。


混合キャップを使用します。

67
peterSO

具体的な例。 (関連する場合)定数で型を宣言することは、コンパイラに役立つことに注意してください。

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

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