حرفه برنامه نویسی Rust خود را با یادگیری این اصول زبان شروع کنید.
ساختارهای کنترلی یک ساختار برنامه نویسی هستند که به شما امکان می دهد جریان اجرا را در برنامه های خود کنترل کنید. ساختارهای کنترلی به شما امکان می دهند دستورالعمل ها را برای اجرا فقط در صورت رعایت شرایط خاص مشخص کنید.
ساختارهای کنترل Rust برای مدیریت جریان برنامه حیاتی هستند و اجرای کد کارآمد را ممکن میسازند و در عین حال وظایف پیچیده را به اجزای کوچکتر و قابل استفاده مجدد ساده میکنند.
اظهارات مشروط زنگ زدگی
عبارات شرطی سازه هایی هستند که به شما امکان می دهند کد را بر اساس شرایط اجرا کنید. عبارات شرطی برای تصمیمگیری مفید هستند، زیرا اجرای برنامه به درست یا نادرست بودن شرایط بستگی دارد. Rust بیانیه های if، else و match را برای تصمیم گیری فراهم می کند.
در برنامههای Rust، دستور if آزمایش میکند که آیا یک شرط خاص درست است یا خیر. اگر این کار را کرد، برنامه بلوک کد مرتبط را اجرا می کند. اگر شرط نادرست ارزیابی شود، برنامه آن بلوک کد را رد می کند و به دستور بعدی می رود یا بلوک عبارت else را در صورت وجود اجرا می کند.
عبارت match یک ساختار جریان کنترلی قدرتمند است که به برنامه اجازه می دهد تا مقادیر را با یک سری الگوها مطابقت دهد و کد را بر اساس الگوی تطبیق اجرا کند.
Rust’s if Statements
اگر عبارات موجود در برنامه های Rust خود را با کلمه کلیدی if همراه با یک شرط اعلام کنید:
if condition {
// code to execute if condition is true
}
در اینجا مثالی از نحوه استفاده از دستور if در برنامه های Rust آورده شده است:
fn main() {
let x = 15;
if x > 10 {
println!("x is greater than 10");
}
}
متغیر x دارای یک عدد صحیح 32 بیتی است و دستور if قبل از اجرای بلوک کدی که آن را چاپ می کند، بررسی می کند که آیا مقدار x بزرگتر از ده است یا خیر.
اظهارات دیگر Rust
وقتی پیشبینی میکنید که دستور if به عنوان نادرست ارزیابی شود، از کلمه کلیدی else برای اجرای یک بلوک کد استفاده میکنید.
if condition {
// code to execute if condition is true
} else {
// code to execute if the condition is false
}
در اینجا مثالی وجود دارد که در آن x بزرگتر از 10 نیست، دستور if false ارزیابی می شود، و عبارت else اجرا می شود.
fn main(){
let x = 5;
if x > 10 {
println!("x is greater than 10");
} else {
println!("x is not greater than 10");
}
}
از آنجایی که x 5 است و 5 بزرگتر از 10 نیست، برنامه بلوک if را رد می کند و بلوک else را اجرا می کند.
بیانیه های بازی Rust
شما از کلمه کلیدی مطابقت برای تصمیم گیری های پیچیده برای بررسی یک سری الگوها و اجرای کد بر اساس تطابق الگوها استفاده خواهید کرد. عبارات تطبیق مشابه عبارات سوئیچ در C#، Go و C++ هستند.
در اینجا ساختار بیانیه مسابقه Rust آمده است:
match value {
pattern1 => {
// code to execute if the value matches pattern1
},
pattern2 => {
// code to execute if value matches pattern2
},
// etc.
}
در اینجا نحوه استفاده از دستورات مطابقت در برنامه های خود آورده شده است:
let grade = 'B';
match grade {
'A' => println!("Excellent work!"),
'B' => println!("Good job."),
'C' => println!("You could do better."),
_ => println!("That's not a valid grade."),
}
متغیر درجه یک کاراکتر است و دستور match بررسی می کند که کدام یک از کاراکترها قبل از اجرای کد بعد از عملگر => به مقدار متغیر درجه ارزیابی می شود. میتوانید از الگوی زیرخط (_) برای مطابقت با مقادیری استفاده کنید که با الگوهای دیگر مطابقت ندارند (الگوی پیشفرض).
حلقه ها در Rust
حلقه ها یک ساختار اساسی هستند که برای کارهای تکراری مانند خراش دادن وب و سایر اقدامات خودکار استفاده می شود. Rust انواع مختلفی از حلقهها را فراهم میکند، از جمله حلقههای while، برای حلقهها و حلقه حلقه.
Rust’s while Loops
در حالی که حلقه ها یک بلوک از کد را تا زمانی که یک شرط مشخص درست ارزیابی می کند، تکرار می کند. قبل از تعیین شرط، حلقه while در Rust را با کلمه کلیدی while مشخص میکنید.
while condition {
// code to execute
}
شرط باید یک عبارت بولی باشد که ادامه حلقه را تعیین می کند. وقتی شرط false ارزیابی شد، حلقه خارج می شود.
در اینجا نمونه ای از حلقه Rust while است که اعداد یک تا پنج را چاپ می کند.
fn main() {
let mut i = 1;
while i <= 5 {
println!("{}", i);
i += 1;
}
}
حلقه while در تابع اصلی از اعداد یک تا پنج عبور می کند در حالی که متغیر i را یک افزایش می دهد تا زمانی که متغیر i بزرگتر از پنج شود، جایی که حلقه خاتمه می یابد.
حلقه حلقه
کلمه کلیدی حلقه یک حلقه بی نهایت ایجاد می کند تا زمانی که خروجی را با کلمه کلیدی break اعلام کنید.
loop {
// code to execute
if condition {
break;
}
}
کد موجود در بلوک حلقه اجرا می شود تا زمانی که حلقه با کلمه کلیدی break مواجه شود.
در اینجا مثالی از استفاده از حلقه حلقه برای چاپ اعداد یک تا پنج قبل از تعیین کلمه کلیدی break برای خروج آورده شده است.
fn main() {
let mut i = 1;
loop {
println!("{}", i);
i += 1;
if i > 5 {
break;
}
}
}
تابع main حلقه را اجرا می کند و دستور if متغیر i را افزایش می دهد. دستور if ختم حلقه را زمانی که متغیر i از 5 بیشتر شود مشخص می کند.
Rust’s for Loops
در Rust، حلقههای for در یک محدوده یا مجموعهای از مقادیر تکرار میشوند. قبل از مشخص کردن محدوده یا مجموعه ای که روی آن عمل می کند، از کلمه کلیدی for برای شروع یک حلقه for استفاده می کنید.
for variable in range {
// code to execute
}
محدوده عبارتی است که به دنباله ای از مقادیر ارزیابی می شود، و متغیر متغیری است که هر مقدار در دنباله را به نوبه خود می گیرد. بلوک کد یک بار برای هر مقدار در دنباله اجرا می شود.
در اینجا نمونه ای از حلقه for است که مقادیری از یک تا ده را چاپ می کند.
fn main() {
for i in 1..=10 {
println!("{}", i);
}
}
حلقه از طریق مقادیر از 1 تا 10 تکرار می شود. در هر تکرار، متغیر (i) مقدار بعدی را نگه می دارد که println! ماکرو سپس چاپ می شود.
می توانید از کلمه کلیدی ادامه برای رد کردن مقادیر در حلقه های for استفاده کنید. در اینجا نحوه رد شدن از اعداد زوج هنگام کار بر روی یک محدوده آمده است:
fn main() {
for num in 1..=10 {
if num % 2 == 0 {
continue; // skip even numbers
}
println!("{}", num); // print odd numbers
}
}
دستور if از کلمه کلیدی continue استفاده می کند تا مشخص کند که حلقه باید اعدادی را که بر دو بخش پذیر هستند رد کند.
علاوه بر این، می توانید با کلمه کلیدی break از یک حلقه for خارج شوید. حلقه با مواجهه با کلمه کلیدی break خاتمه می یابد.
fn main() {
for num in 1..=10 {
if num == 5 {
break; // exit loop when number equals 5
}
println!("{}", num); // print numbers 1 to 4
}
}
دستور if مشخص می کند که حلقه باید زمانی خاتمه یابد که متغیر i برابر با پنج باشد.
از ساختارهای کنترل Rust با انواع داده برای تسلط بر زبان استفاده کنید
Rust این ساختارهای کنترلی انعطاف پذیر را برای عملیات بر روی انواع داده های داخلی و سفارشی فراهم می کند. شما می توانید از این ساختارهای کنترلی برای کار بر روی ساختارهای داده مرکب و مرکب مانند آرایه ها، بردارها، ساختار و enums استفاده کنید.
Rust نیز ساختارهایی را فراهم می کند. ساختارها ساختارهای داده ای هستند که مقادیر مرتبط را در یک شی واحد گروه بندی می کنند. آنها شبیه کلاس های زبان های شی گرا هستند و حتی می توانید متدهایی را روی آنها تعریف کنید.