アンダースコアの空の構造体フィールドの目的
Go では、空の構造体を含む "_" という名前のフィールドを持つ構造体を定義できます。このイディオムはキー付きフィールドの初期化を強制し、構造体のインスタンスを作成するときにすべてのフィールドに明示的に名前を付ける必要があります。
コード例
type SomeType struct { Field1 string Field2 bool _ struct{} }
キー付きフィールド初期化
この空の構造体フィールドでは、構造体を宣言する必要がありますキー付きフィールドの使用:
// ALLOWED: bar := SomeType{Field1: "hello", Field2: true} // COMPILE ERROR: foo := SomeType{"hello", true}
利点
この手法にはいくつかの利点があります:
以上がGo でキー付き初期化にアンダースコアの空の構造体フィールドを使用する理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。