
توابع در زبان دارت
توابع در زبان دارت برای گروه بندی کد و استفاده مجدد از آن ها استفاده میشوند.
تعریف تابع:
برای تعریف یک تابع در زبان دارت از کلمه کلیدی function استفاده میکنیم.
Dart
function sum(a, b) {
return a + b;
}
بااحتیاط از کد استفاده کنید. بیشتر بدانیدcontent_copy
اجزای تابع:
- نام تابع:
sum - پارامترها:
aوb - بدنه تابع: کد داخل
{} - نوع خروجی:
int
استفاده از تابع:
برای استفاده از یک تابع، نام آن را به همراه آرگومانهای مربوطه صدا میزنیم.
Dart
var result = sum(10, 5);
print(result); // 15
بااحتیاط از کد استفاده کنید. بیشتر بدانیدcontent_copy
انواع توابع:
- توابع با پارامتر: توابعی که میتوانند آرگومان دریافت کنند.
- توابع بدون پارامتر: توابعی که هیچ آرگومانی دریافت نمیکنند.
- توابع بازگشتی: توابعی که میتوانند یک مقدار را به عنوان خروجی برگردانند.
- توابع void: توابعی که هیچ مقداری را به عنوان خروجی برنمیگردانند.
نکاتی در مورد توابع:
- توابع میتوانند به صورت داخلی (nested) در داخل یکدیگر تعریف شوند.
- توابع میتوانند به عنوان متغیر ذخیره شوند و یا به عنوان آرگومان به توابع دیگر ارسال شوند.
- توابع میتوانند بارگذاری (overloaded) شوند و با توجه به نوع آرگومانها، عملکردهای متفاوتی داشته باشند.
مثالهای بیشتر:
Dart
// تابع بدون پارامتر
function greet() {
print('Hello!');
}
// تابع با پارامتر
function sayHello(name) {
print('Hello $name!');
}
// تابع بازگشتی
function factorial(n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
// تابع void
function printNumbers(n) {
for (var i = 1; i <= n; i++) {
print(i);
}
}
// استفاده از توابع
greet(); // چاپ "Hello!"
sayHello('Bard'); // چاپ "Hello Bard!"
var result = factorial(5); // 120
printNumbers(5); // چاپ 1 2 3 4 5
از مفهوم تا استفاده واقعی
در فلاتر رابط کاربری از ویجتهای کوچک ساخته میشود. بهجای طراحی یک صفحه بزرگ، آن را به بخشهایی مثل عنوان، فهرست و دکمه تقسیم کن؛ هر بخش مسئولیت مشخصی دارد.
یک مثال از دنیای واقعی
فرض کن برای یک فروشگاه محلی اپ ثبت سفارش میسازی. ابتدا فقط نام کالا و تعداد را بگیر و جمع سفارش را نشان بده. ورود، پرداخت و اعلان را وقتی اضافه کن که همین جریان ساده درست کار کند.
final prices = <int>[120, 80, 50];
final total = prices.fold(0, (sum, price) => sum + price);
print('مبلغ سفارش: $total هزار تومان');حالا نوبت توست
یک تخفیف ۱۰ درصدی به مبلغ سفارش اضافه کن و قیمت نهایی را نمایش بده.
- نمونه را یکبار اجرا یا بازنویسی کن.
- تغییر خواستهشده را بدون کپی کامل انجام بده.
- خروجی را با انتظار خودت مقایسه کن.
- در یک جمله توضیح بده چرا راهحل کار کرد.
اول مسئله و خروجی مورد انتظار را روشن کن؛ بعد ابزار را انتخاب کن.
نمونه کوچکِ کامل از پروژه بزرگِ نیمهتمام بیشتر به یادگیری کمک میکند.
کد را فقط نخوان؛ تغییرش بده، خطا بساز و دلیل نتیجه را توضیح بده.
این مسیر را ادامه بده
تمرین این صفحه را انجام بده، نتیجه را برای خودت توضیح بده و بعد سراغ درس مرتبط بعدی برو.
انتخاب مسیر بعدی ←