تابع در دارت
تابع در دارت، بلوکهای کد سازمان یافتهای هستند که وظایف خاصی را انجام میدهند. آنها به شما کمک میکنند تا کد خود را modular و خواناتر کنید و از تکرار کد جلوگیری کنید.
نحوه تعریف تابع در دارت
برای تعریف یک تابع در دارت، از کلمه کلیدی function به دنبال نام تابع، پارامترها (در صورت نیاز) و نوع دادهای مقدار بازگشتی استفاده میکنید.
// تعریف تابعی به نام "greet" که هیچ پارامتری ندارد و رشتهای را به عنوان مقدار بازگشتی برمیگرداند
function greet() {
return "سلام به همه!";
}
// تعریف تابعی به نام "calculateArea" که دو پارامتر (طول و عرض) دارد و مساحت مستطیل را به عنوان مقدار بازگشتی برمیگرداند
function calculateArea(double length, double width) {
return length * width;
}
فراخوانی تابع در دارت
برای فراخوانی یک تابع در دارت، نام آن را به دنبال آرگومانها (در صورت نیاز) در پرانتز قرار میدهید.
// فراخوانی تابع "greet" و ذخیره مقدار بازگشتی در متغیر "message"
String message = greet();
print(message); // "سلام به همه!" چاپ میشود
// فراخوانی تابع "calculateArea" و ذخیره مساحت در متغیر "rectangleArea"
double rectangleArea = calculateArea(5.0, 3.0);
print("مساحت مستطیل: $rectangleArea"); // "15.0" چاپ میشود
پارامترها
پارامترها به شما این امکان را میدهند که دادهها را به تابع ارسال کنید.
- پارامترهای اجباری: پارامترهایی هستند که هنگام تعریف تابع در دارت باید مقدار اولیه داشته باشند.
- پارامترهای اختیاری: پارامترهایی هستند که هنگام تعریف تابع در دارت میتوانند مقدار اولیه نداشته باشند و شما میتوانید در هنگام فراخوانی تابع به آنها مقدار بدهید.
- پارامترهای نامگذاری شده: پارامترهایی هستند که با نام آنها به آنها مقدار میدهید، که خوانایی کد را افزایش میدهد.
مقادیر بازگشتی
توابع میتوانند مقادیر را به عنوان نتیجه عملیات خود بازگردانند. نوع دادهای مقدار بازگشتی باید با نوع دادهای که در تعریف تابع مشخص شده است مطابقت داشته باشد.
انواع تابع در دارت
- توابع بدون بازگشت: این توابع هیچ مقداری را باز نمیگردانند و فقط برای انجام عملیاتی مانند چاپ متن یا تغییر متغیرها استفاده میشوند.
function printMessage() {
print("پیام از تابع بدون بازگشت");
}
- توابع با بازگشت: این توابع یک مقدار را به عنوان نتیجه عملیات خود باز میگردانند.
function calculateSum(int num1, int num2) {
return num1 + num2;
}
دامنه متغیرها
متغیرهایی که در داخل یک تابع تعریف میشوند، فقط در داخل آن تابع قابل دسترسی هستند. این به شما کمک میکند تا از تداخل نامها و خطاهای برنامهنویسی جلوگیری کنید.
مفاهیم مهم:
- اثر جانبی: تغییراتی که یک تابع در متغیرهای خارج از خود ایجاد میکند.
- توابع تو در تو: تابعی که در داخل تابع دیگری تعریف شده است.
- واحدهای تست: تکههای کدی که برای تست عملکرد یک تابع یا واحد کد نوشته میشوند.
مزایای استفاده از توابع
- modular شدن کد: کد شما را به بخشهای کوچکتر و قابل مدیریتتر تقسیم میکند.
- خوانایی: کد شما را خواناتر و قابل فهمتر میکند.
- قابلیت استفاده مجدد: میتوانید از توابع در قسمتهای مختلف برنامه خود بدون نیاز به نوشتن مجدد کد استفاده کنید.
- نگهداری: یافتن و اصلاح خطاها در کدتان را آسانتر میکند.
مثال:
فرض کنید میخواهید برنامهای بنویسید که مساحت و محیط مستطیلها را با طول و عرضهای مختلف محاسبه کند:
function calculateArea(double length, double width) {
return length * width;
}