Rust

Rust — ساختارها (Structs)

آخرین بروزرسانی: 1404/08/14

ساختارها (Structs)

ساختار (Struct) یعنی مدل سفارشی داده. مثل کارت دانش آموز که نام، سن و وضعیت دارد. بنابراین «ساختارها در راست» داده های مرتبط را کنار هم نگه می دارند.

تعریف Struct

با کلیدواژه struct یک قالب می سازیم و فیلدها را داخلش می گذاریم.

struct Person {
  name: String,
  age: u32,
  can_vote: bool,
}

مشاهده در ادیتور

ساخت شیء و دسترسی به فیلدها

پس از تعریف، یک شیء می سازیم. سپس با نقطه به فیلدها دسترسی داریم.

struct Person {
  name: String,
  age: u32,
  can_vote: bool,
}

fn main() {
  let user = Person {
    name: String::from("John"),
    age: 35,
    can_vote: true,
  };
  println!("Name: {}", user.name);
  println!("Age: {}", user.age);
  println!("Can vote? {}", user.can_vote);
}

مشاهده در ادیتور

تغییر مقدار یک فیلد

برای تغییر فیلد باید شیء را mut کنیم؛ یعنی قابل تغییر.

struct Person {
  name: String,
  age: u32,
}

fn main() {
  let mut user = Person {
    name: String::from("John"),
    age: 35,
  };
  user.age = 36;
  println!("Name: {}", user.name);
  println!("Updated age: {}", user.age);
}

مشاهده در ادیتور

چرا «ساختارها در راست» مهم اند؟

  • گروه بندی مرتب داده های مرتبط.
  • کد خواناتر و قابل نگهداری تر می شود.
  • مدل سازی چیزهای واقعی؛ مثل کاربر و خودرو.

نکته: فیلد یعنی متغیرِ عضوِ ساختار. چون داخل یک قالب بزرگ تر است، به جای «متغیر معمولی»، «فیلد» می گوییم. برای داده های نگاشتی، به هش مپ سر بزن. برای نوع های برشمردنی، انواع شمارشی را ببین. همچنین لینک خود ساختارها در راست برای مرور سریع است.

گام های تمرین

  1. یک Person بساز و سه فیلد قرار بده.
  2. یک شیء بساز و فیلدها را چاپ کن.
  3. شیء را mut کن و یک فیلد را تغییر بده.
  4. یک ساختار جدید مثل Book طراحی کن.

جمع بندی سریع

  • Struct قالب داده سفارشی است.
  • دسترسی با نقطه انجام می شود.
  • تغییر فیلد نیاز به mut دارد.
  • مدل سازی دنیای واقعی راحت تر می شود.