ホームページ >バックエンド開発 >Golang >String() メソッドを手動で定義せずに Go Enum 名を取得するにはどうすればよいですか?

String() メソッドを手動で定義せずに Go Enum 名を取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-28 14:41:11167ブラウズ

How Can I Get Go Enum Names Without Manually Defining a String() Method?

Go の String() メソッドを使用しない列挙型名の取得

Go では、通常、列挙型は定数値を使用して表されます。 enum 値の名前を取得するには、enum 型に対して定義された String() メソッドが必要です。ただし、String() メソッドを手動で作成することは避けた方がよい場合があります。

Stringer ツールを使用した代替方法

std パッケージの標準 String() メソッドを使用すると、String() メソッドを自動的に生成できます。列挙型。次の列挙型定義を考えてみましょう。

const (
    MERCURY = 1
    VENUS = iota
    EARTH
    MARS
    JUPITER
    SATURN
    URANUS
    NEPTUNE
    PLUTO
)

コードを含むディレクトリで stringer -type=TheEnum を実行すると、Theenum_string.go ファイルが生成され、TheEnum 型の String() メソッドが定義されます。

ストリンガーを使用する利点

ストリンガー ツールを使用すると、次のことが得られます。利点:

  • 自動 String() メソッド: String() メソッドが生成され、手動の労力が軽減されます。
  • 一貫性: これにより、列挙値の一貫した文字列表現が保証されます。
  • Go Generate互換性: ストリンガー ツールは go generated コマンドとうまく連携し、列挙型生成をビルド プロセスに統合できます。

以上がString() メソッドを手動で定義せずに Go Enum 名を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。