۲.۱. تعریف متغیر در Rust
در Rust متغیرها بهصورت پیشفرض immutable (تغییرناپذیر) هستند. برای تعریف متغیر، از let استفاده میکنیم:
fn main() {
let x = 5; // مقدار x تغییرناپذیر است
println!("مقدار x برابر است با: {}", x);
}
🔹 اگر بخواهیم مقدار متغیر را تغییر دهیم، باید mut را اضافه کنیم:
fn main() {
let mut y = 10;
println!("قبل از تغییر: {}", y);
y = 20; // مقدار جدید
println!("بعد از تغییر: {}", y);
}
📌 اگر mut را اضافه نکنیم، Rust هنگام تغییر مقدار خطا میدهد.
۲.۲. انواع داده در Rust
Rust یک زبان سیستمتایپ (strongly typed) است و انواع داده را بهخوبی مدیریت میکند.
۲.۲.۱. انواع عددی
i32(عدد صحیح ۳۲ بیتی، مثبت و منفی)u32(عدد صحیح بدون علامت ۳۲ بیتی، فقط مثبت)f32وf64(اعداد اعشاری)
fn main() {
let a: i32 = -10;
let b: u32 = 42;
let c: f64 = 3.14;
println!("{} {} {}", a, b, c);
}
۲.۲.۲. نوع Boolean (bool)
fn main() {
let is_rust_fun = true;
println!("آیا Rust زبان جذابی است؟ {}", is_rust_fun);
}
۲.۲.۳. نوع char
charدر Rust از یونیکد (Unicode) پشتیبانی میکند:
fn main() {
let smiley: char = '😊';
println!("شخصیت انتخابی: {}", smiley);
}
۲.۳. ثابتها (const و static)
در Rust میتوان ثابتها را با const یا static تعریف کرد:
const PI: f64 = 3.1415;
static GREETING: &str = "سلام به دنیای Rust!";
fn main() {
println!("{}", PI);
println!("{}", GREETING);
}
🔹 تفاوت const و static:
constمقدارش ثابت و تغییرناپذیر است.staticدر کل برنامه یک کپی از مقدارش را نگه میدارد.
۳. عملگرها در Rust
Rust از عملگرهای استاندارد پشتیبانی میکند:
| نوع | عملگرها |
|---|---|
| جمع، تفریق، ضرب، تقسیم | +, -, *, /, % |
| مقایسهای | ==, !=, <, >, <=, >= |
| منطقی | &&, ` |
fn main() {
let a = 10;
let b = 3;
println!("جمع: {}", a + b);
println!("باقیمانده: {}", a % b);
println!("مقایسه: {}", a > b);
}
💡 تمرین:
۱. برنامهای بنویسید که دو عدد از ورودی دریافت کند و عملیات جمع، تفریق، ضرب و تقسیم روی آنها انجام دهد.
۲. متغیری تعریف کنید که مقدارش true باشد و سپس مقدار آن را تغییر دهید.
🚀 اگر آمادهاید، میتوانیم ساختارهای کنترلی (مثل if, loop, match) را در درس بعدی بررسی کنیم. 😎