構造体
Rustの構造体(struct)は、関連するデータを一つの単位としてまとめるためのカスタムデータ型です。 構造体を使うことで、異なるデータ型を持つ複数のフィールドを一つにまとめて管理できます。
構造体の定義
構造体は struct
キーワードを使って定義します。
例えば、Person
という名前の構造体を定義する場合は次のようになります:
#![allow(unused)] fn main() { struct Person { name: String, age: u32, } }
インスタンスの生成
構造体のインスタンスを生成するには、次のように記述します:
#![allow(unused)] fn main() { let person = Person { name: String::from("Alice"), age: 30, }; }
フィールドへのアクセス
struct Person { // 構造体を定義 name: String, age: u32, } fn main() { let person = Person { //Personという名の構造体のインスタンスを生成 name: String::from("Alice"), age: 30, }; // フィールドへアクセス println!("Name: {}, Age: {}", person.name, person.age); }
Cスタイル構造体
-
フィールドに名前を付けて定義する、最も一般的な構造体です。
#![allow(unused)] fn main() { struct Color { red: u8, green: u8, blue: u8, } let black = Color { red: 0, green: 0, blue: 0 }; }
タプルスタイル構造体
-
タプル構造体は、通常のタプルに名前を付けたものです。 フィールドに名前を付けずに、位置でアクセスします。
#![allow(unused)] fn main() { struct Point(i32, i32, i32); let origin = Point(0, 0, 0); }
ユニットスタイル構造体
-
フィールドを持たない構造体です。主に型としての意味を持たせるために使用されます。
#![allow(unused)] fn main() { struct Unit; let unit = Unit; }