構造体とは?
CoddyのRustジャーニー「Logic & Flow」セクションの一部 — レッスン 20/66。
これまでは、単一の数値、文字列、そしてベクタのようなコレクションといった、個別のデータを扱ってきました。しかし、関連する情報をひとまとめにする必要がある場合はどうすればよいでしょうか?例えば、名前、年齢、メールアドレスを持つ「人物」をどのように表現すればよいでしょうか?
ここで構造体 (structs)が登場します。構造体は、関連する値を1つの整理されたユニットにまとめることで、カスタムデータ型を作成するためのRustの手法です。
struct内の各データは、フィールドと呼ばれます。フィールドには名前と型があり、それぞれの情報が何を表しているのかを明確にします。
異なるフィールド型を持つ構造体の例:
struct Person {
name: String,
age: u32,
active: bool,
}ここでは、Person 構造体に、String 型の name フィールド、u32 型の age フィールド、および bool 型の active フィールドがあります。
チートシート
構造体(struct)は、関連する値をグループ化するカスタムデータ型です。構造体の中の各値はフィールド(field)と呼ばれ、名前と型を持ちます。
構造体の定義:
struct Person {
name: String,
age: u32,
active: bool,
}この例では、Personは3つのフィールド、name (String)、age (u32)、およびactive (bool)を持つ構造体です。
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。