構造体…データの集合に名前を付けることで型として扱うことが出来る。オブジェクト指向言語におけるメンバだけで構成されたクラス(アクセス修飾子は定義できない)。
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; }}