Rust

Rust — توابع (Functions)

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

توابع (Functions)

تابع (Function) یک بلوک کد است. فقط وقتی صدا می زنی اجرا می شود. با توابع، کد منظم تر می شود و تکرار کم می شود. تصور کن یک «دکمه آماده» داری که هر بار کار مشخصی را انجام می دهد.

ساختن تابع

با کلمه fn تابع می سازیم. بعد نام تابع، پرانتزها و آکولادها می آیند.

fn function_name() {
  // code to be executed
}

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

فراخوانی تابع

برای اجرا، نام تابع را بنویس و پرانتزها را اضافه کن. مثل زدن دکمه در بازی.

fn say_hello() {
  println!("Hello from a function!");
}

say_hello();

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

پارامترها (Parameters)

پارامتر یعنی ورودی تابع. داخل پرانتزها می آید. مثل نام در فرم.

fn greet(name: &str) {
  println!("Hello, {}!", name);
}

greet("John");

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

مقدار بازگشتی (Return Value)

تابع می تواند مقداری برگرداند. نوع خروجی پس از -> می آید. با return مقدار برمی گردد.

fn add(a: i32, b: i32) -> i32 {
  return a + b;
}

let sum = add(3, 4);
println!("Sum is: {}", sum);

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

نکته: می توانی return را حذف کنی. کافی است آخرین خط را بدون سمی کالن بنویسی.

fn add(a: i32, b: i32) -> i32 {
  a + b
}

let sum = add(3, 4);
println!("Sum is: {}", sum);

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

چرا از توابع استفاده کنیم؟

کد مرتب تر می شود. تکرار کمتر می شود. تغییرات ساده تر می شود. مثل ساخت قطعه های لگو و استفاده دوباره.

گام های تمرین

  1. یک تابع ساده بساز و پیامی چاپ کن.
  2. به آن یک پارامتر رشته بده.
  3. تابعی با خروجی عددی بنویس.
  4. نسخه بدون return را تست کن.

جمع بندی سریع

  • fn شروع ساخت تابع است.
  • فراخوانی با نام و () است.
  • پارامترها داخل پرانتزها هستند.
  • خروجی پس از -> تعریف می شود.
  • آخرین خط بدون ; هم خروجی می شود.

بعد از تسلط بر توابع، سر بزن به اسکوپ برای محدوده متغیرها. همچنین مرور کن حلقه های for برای تکرار کنترل شده.