💡 هذا الدرس يبني على أساسيات المتغيّرات والدوال والأصناف من درس أساسيات لغة Dart — هنا نتعمّق في null safety والمعاملات المسمّاة والمجموعات المتقدّمة والبرمجة غير المتزامنة.
null safety والثوابت
final age = 25; // ثابت وقت التشغيل (يُحسب مرّة واحدة عند التشغيل)
const pi = 3.14; // ثابت وقت الترجمة (قيمته معروفة قبل التشغيل)
int? maybe = null; // ? تعني: القيمة قد تكون null
print(maybe ?? 0); // ?? قيمة بديلة إن كانت null
المعاملات المسمّاة
void greet(String name, {String greeting = "أهلًا"}) {
print("$greeting $name"); // معاملات مسمّاة بين {}
}
greet("براء", greeting: "مرحبًا");
المجموعات
List<int> nums = [1, 2, 3];
Map<String, int> ages = {"براء": 25};
nums.map((n) => n * 2).toList();
nums.where((n) => n > 1).toList();
async
Future<String> fetch() async {
await Future.delayed(Duration(seconds: 1));
return "بيانات";
}
💡 Dart مصمّمة لـ Flutter: سريعة، آمنة من null، وتدعم async بسلاسة. للتعمّق الكامل (بما فيه
FutureBuilderلعرض حالة التحميل داخل الواجهة)، راجع درس البرمجة غير المتزامنة.
🎯 التالي: الويدجتس ذات الحالة.