← Go コース
24. 構造体 — フィールドをまとめた型
構造体(struct)は、関連する値を名前付きのフィールドとして一つにまとめた型です。type Point struct { X int; Y int } のように type で名前を付けて定義します。フィールドには p.X のようにドットでアクセスし、各フィールドは初期化しなければその型のゼロ値になります。
構造体の値を作るには、フィールド名を明示する Point{X: 1, Y: 2} という書き方が読みやすく一般的です。フィールド名を省いて Point{1, 2} と位置で書くこともできますが、定義順に依存するため可読性は下がります。フィールド名が大文字で始まると外部パッケージから参照できる公開フィールド、小文字なら非公開フィールドになります。
構造体も配列と同じく値型で、代入や関数渡しでまるごとコピーされます。大きな構造体を頻繁にコピーするのを避けたいときや、関数の中から元の値を書き換えたいときには、後で学ぶポインタを使います。まずは「データの入れ物を自分で定義できる」という構造体の役割を押さえましょう。
▶ サンプルコードを実行してみよう(自由に書き換えてOK)
Go