تعريف واستخدام
struct User {
name: String,
age: u32,
active: bool,
}
let user = User {
name: String::from("براء"),
age: 25,
active: true,
};
println!("{} - {}", user.name, user.age);
الطرق (Methods) عبر impl
impl User {
fn greet(&self) -> String {
format!("أهلًا {}", self.name)
}
// دالة مرتبطة (مُنشئ شائع)
fn new(name: String, age: u32) -> User {
User { name, age, active: true }
}
}
let u = User::new(String::from("سارة"), 22);
println!("{}", u.greet());
&selfللقراءة،&mut selfللتعديل.- الدوال بلا
selfتُستدعى بـUser::new.
هياكل أخرى
struct Point(i32, i32); // tuple struct
struct Unit; // unit struct
🎯 التالي: التعدادات ومطابقة الأنماط.