構造体…データの集合に名前を付けることで型として扱うことが出来る。オブジェクト指向言語におけるメンバだけで構成されたクラス(アクセス修飾子は定義できない)。
struct User {
username: String,
email: String,
sign_in_count: u64,
active: bool,
}
メソッド…構造体に紐づけられた関数。引数の最初に必ずself(&selfで不変、&mut selfで可変、selfで所有権を奪う)が宣言される。selfは構造体のインスタンスを表す。
impl User {
fn count_up(&mut self) -> u64 {
self.sign_in_count += 1;
return self.sign_in_count;
}
}