توابع یک خطی (یا Arrow Functions) در زبان دارت (Dart) به شما امکان میدهند که کدهای خود را به شکل سادهتری نوشته و برنامهی خود را کوتاهتر کنید. در ادامه قصد داریم که به شما یاد بدهیم که چگونه از توابع یک خطی در دارت استفاده کنید.
تعریف تابع یک خطی:
شما میتوانید تابع یک خطی را با استفاده از گرافیک => تعریف کنید. به عنوان مثال:
int multiply(int x, int y) => x * y;
- اضافه کردن پارامترها: در توابع یک خطی میتوانید پارامترها را به شکل زیر اضافه کنید:
(int x, int y) => x * y;
- استفاده از پارامترهای اختیاری: شما میتوانید پارامترهای اختیاری را در توابع یک خطی به شکل زیر تعریف کنید:
(int x, [int y = 1]) => x * y;
- استفاده از پارامترهای نامگذاری شده: شما میتوانید پارامترهایی با نامهای خاصی را به تابع یک خطی اضافه کنید. به عنوان مثال:
(int x, {int y = 1}) => x * y;
- تعریف تابع یک خطی با بدنه: شما میتوانید تابع یک خطی با بدنه را به شکل زیر تعریف کنید:
(int x, int y) => {
int result = x * y;
return result;
};
- استفاده از تابع یک خطی به عنوان پارامتر: شما میتوانید تابع یک خطی را به عنوان پارامتر برای یک تابع دیگر استفاده کنید. به عنوان مثال:
void performOperation(int x, int y, Function(int, int) operation) {
int result = operation(x, y);
print(result);
}
performOperation(2, 3, (int x, int y) => x * y);
- استفاده از کلمه کلیدی
return
در تابع یک خطی: شما میتوانید کلمه کلیدیreturn
را در تابع یک خطی استفاده کنید تا مقدار مورد نظر را برگردانید. به عنوان مثال:
(int x, int y) => x * y ?? 0;
در مثال بالا اگر مقدار x * y
نال (null) باشد، تابع مقدار صفر را برمیگرداند.
- تابع یک خطی با بیش از یک عبارت: در تابع یک خطی میتوانید بیش از یک عبارت داشته باشید. در این صورت باید از کلمه کلیدی
{}
برای تعریف بدنه استفاده کنید. به عنوان مثال:
(int x, int y) => {
if (y == 0) {
return 0;
} else {
return x / y;
}
};
در مثال بالا تابع بررسی میکند که مقدار y
صفر نیست، سپس اگر صفر نباشد، مقدار x / y
را برمیگرداند. در غیر این صورت، مقدار صفر را برمیگرداند.
- استفاده از تابع یک خطی در متدهای کلاس: شما میتوانید تابع یک خطی را به عنوان یک متد در کلاسهای دارت استفاده کنید. به عنوان مثال:
class Calculator {
int multiply(int x, int y) => x * y;
}
در مثال قبل تابع multiply
به عنوان یک متد در کلاس Calculator
تعریف شده است و میتوانید به شکل زیر از آن استفاده کنید:
Calculator calculator = Calculator();
int result = calculator.multiply(2, 3);
در این مثال بالا مقدار result
برابر با ۶ خواهد بود.