توی یکی دیگه از مقالات راست میخوایم با توابع یا function
ها کار کنیم.
تابع یا Function
راست یک زبان برنامه نویسی فانکشنال هست و ما توی این زبان باید به خوبی توابع و چیز های دیگه مربوط به توابع رو درک کنیم به طور مثال کلوژر ها رو ما نیاز داریم که به خوبی درک کنیم البته با کلوژر ها هم بعدا آشنا میشیم.
توی این مقاله قراره با چهار مسئله آشنا بشیم:
۱. تعریف تابع
۲. صدا کردن تابع
۳. برگردوندن مقدار از تابع
۴. ورودی دادن به تابع
این مفاهیم به زبان انگلیسی به صورت زیر هست:
-
Defining a function
-
Calling or invoking a Function
-
Returning Functions
-
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
امیدوارم از این مقاله هم لذت کافی رو برده باشید :)