タグ

ブックマーク / qiita.com/fuubit (1)

  • 【Go】構造体のフィールドに定義してある`_ struct{}`はどういう意味? - Qiita

    Go】構造体のフィールドに定義してある_ struct{}はどういう意味? ライブラリのコードを読んでいると_ struct{}というフィールドが定義してある構造体をみかけることがありますが、これはどういう意味なのか?というお話です。 結論としては、これは構造体を初期化する際に、フィールド名の指定を強制する意図で宣言されています。 blank identifierを用いた構造体の定義とComposite literalsによる構造体の初期化 _はblank identifierと呼ばれるものです。 これは、dev/nullに似ていて、blank identifierに割当てられた値や宣言は、無害な方法で、虚無のブラックホールへと捨て去られます。(_がブラックホールの穴に見えてくる…) ここでは詳しく説明しませんが、Effective Goに詳しい使用用途などが紹介されています。 また、C

    【Go】構造体のフィールドに定義してある`_ struct{}`はどういう意味? - Qiita
  • 1