const
Golangの名前に命名規則があるかどうかを確認しようとしています。
私は個人的にはCスタイルに従って大文字で書く傾向がありますが、このページhttp://golang.org/doc/effective_go.htmlには、言語のいくつかの命名規則が記載されているようですが、何も見つかりませんでした。
const
Golangの名前に命名規則があるかどうかを確認しようとしています。
私は個人的にはCスタイルに従って大文字で書く傾向がありますが、このページhttp://golang.org/doc/effective_go.htmlには、言語のいくつかの命名規則が記載されているようですが、何も見つかりませんでした。
回答:
標準ライブラリはキャメルケースを使用しているので、そうすることもお勧めします。定数をエクスポートするかどうかによって、最初の文字は大文字または小文字になります。
いくつかの例:
md5.BlockSize
os.O_RDONLY
POSIXから直接借用したため、例外です。os.PathSeparator
const
要素を他のパッケージに公開するかどうかを決定することも重要です。を使用する場合、UpperCamelCase
またはALL_CAPS
パッケージの外部でエクスポートする場合。このため、私lowerCamelCase
はプライベートのconst変数に固執し、Goプロジェクトに比較的近い人から(またはおそらく公式のドキュメントでさえ-この場所を忘れて)この推奨事項を読んだことを思い出します。
このページには、Goコードのレビュー中に行われた一般的なコメントがまとめられているため、省略形で1つの詳細な説明を参照できます。これはよくある間違いのリストであり、スタイルガイドではありません。
これはhttp://golang.org/doc/effective_go.htmlの補足として見ることができ ます。
http://golang.org/doc/effective_go.html#mixed-capsを参照してください。これは、他の言語の規則に違反する場合にも当てはまります。たとえば、エクスポートされない定数はmaxLengthであり、MaxLengthやMAX_LENGTHではありません。
最後に、Goの規則では、マルチワード名を書くのにアンダースコアではなくMixedCapsまたはmixedCapsを使用します。
識別子をエクスポートして、別のパッケージからの識別子へのアクセスを許可できます。次の両方の場合、識別子がエクスポートされます。
識別子の名前の最初の文字はUnicodeの大文字(Unicodeクラス "Lu")です。そして
識別子はパッケージブロックで宣言されているか、フィールド名またはメソッド名です。
他のすべての識別子はエクスポートされません。
混合キャップを使用してください。
FOO_BAR_BAZ
読みやすくするために定数をスタイルで記述したいのですが、残念ながら、定数の可視性に影響し、一般的ではありません。私は自分のプライドを飲み込み、嫌いな場合でも大会を受け入れなければなりませんでした。