توی یکی دیگه از مقالات راست میخوایم با توابع یا function ها کار کنیم.

تابع یا Function

راست یک زبان برنامه نویسی فانکشنال هست و ما توی این زبان باید به خوبی توابع و چیز های دیگه مربوط به توابع رو درک کنیم به طور مثال کلوژر ها رو ما نیاز داریم که به خوبی درک کنیم البته با کلوژر ها هم بعدا آشنا میشیم.

مقاله ی آموزشی زبان راست در پارس کلیک

توی این مقاله قراره با چهار مسئله آشنا بشیم:

۱. تعریف تابع

۲. صدا کردن تابع

۳. برگردوندن مقدار از تابع

۴. ورودی دادن به تابع

این مفاهیم به زبان انگلیسی به صورت زیر هست:

  1. Defining a function

  2. Calling or invoking a Function

  3. Returning Functions

  4. Parameterized Function

تعریف تابع

به کد زیر توجه کنید

fn hello() {
   println!("hello");
}

در بالا یک تابع تعریف کردیم با استفاده از کلیدواژه fn و این تابع کلمه سلام رو چاپ میکنه.

صدا کردن تابع

fn main() {
    hello();
}

fn hello() {
    println!("hello");
}

برای صدای کردن تابع کافیه نام تابع رو صدا کنیم.

خروجی به صورت زیر هست

hello

برگردوندن مقدار از تابع

fn one() -> i32 {
    return 10;
}
fn one() -> i32 {
    10
}
fn one() {
    return 10;
}
fn one() {
    10
}

به چهار صورت در راست میتونیم در تابع های راست مقداری رو برگردونیم:

  • مشخص کردن خروجی و برگردوندن مقدار با استفاده از کلیدواژه return
  • مشخص کردن خروجی و برگردوندن مقدار بدون کلیدواژه return
  • مشخص نکردن خروجی و برگردوندن مقدار با استفاده از کلیدواژه return
  • مشخص نکردن خروجی و برگردوندن مقدار بدون کلیدواژه return

شما میتونید از چهار حالت بدون مشکلی استفاده کنید

ورودی دادن به تابع

fn main(){
   let x: i32 = 5;

   print_zero(x);
   println!("The value of no is: {}", x);
}

fn print_zero(mut variable: i32) {
   variable = variable * 0;
   println!("param_no value is: {}", variable);
}

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

خروجی به صورت زیر هست

param_no value is: 0
The value of no is: 5

امیدوارم از این مقاله هم لذت کافی رو برده باشید :)