キャメルケースに従う名前付けに加えて、Go 関数の名前付けには次の例外があります。メソッド関数: 小文字で始まり、エクスポートされた関数: アンダースコアで始まり、コンストラクター: New で始まります。 、その後にターゲットのタイプが続きます。 関数: Test で始まり、その後にテスト対象の関数/メソッドが続きます。 匿名関数: 名前はなく、関数リテラルによって作成されます。
Go 関数の命名規則: 例外
Go 言語では、関数の名前はキャメル ケースで最初の文字が小文字で付けられます。 、後続の単語の最初の文字は大文字になります。ただし、場合によっては例外が設けられます。
1. メソッド関数
メソッド関数は構造体に属する関数であり、その命名は他の関数とは異なる規則に従います。メソッド関数名は小文字で始まり、後続の単語の最初の文字が大文字になり、関数名の前にレシーバーのタイプが付きます。例:
type Person struct { name string } // GetName 方法 func (p Person) GetName() string { return p.name }
2. エクスポートされた関数
エクスポートされた関数は、パッケージの外部の他のコードを通じてアクセスできる関数です。これらの名前はアンダースコア (_) で始まり、エクスポートされた関数であることを示します。例:
func _privateFunction() { // 私有函数 } func _ExportFunction() { // 导出函数 }
3. コンストラクター
Go 言語では、コンストラクターは、値の型を別の型に変換するために使用される特別な型変換関数です。コンストラクターの名前は New
で始まり、その後に変換される型の名前が続きます。例:
func NewInt(i int) *Int { return &Int{i} }
4. テスト関数
テスト ファイルでは、テスト関数の名前は Test
で始まり、その後にテストする関数またはメソッド名。通常、小文字のキャメルケース命名法が使用されます。例:
func TestGetPersonName(t *testing.T) { // 测试 GetPersonName() 方法 }
5. 匿名関数
匿名関数、つまり名前のない関数を使用する必要がある場合があります。匿名関数は関数リテラルを使用して作成され、外部コードからアクセスすることはできません。例:
func() { // 匿名函数 }
これらの例外の場合でも、関数の名前は明確かつ簡潔で、関数の目的を反映している必要があります。これらの例外を一貫して適用すると、コードの可読性と保守性が確保されます。
以上がgolang 関数の命名規則の例外の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。