الفصل الأول: أساسيات لغة Dart – المتغيرات والثوابت
الفصل الأول: أساسيات لغة Dart – المتغيرات والثوابت
1. مقدمة عن المتغيرات والثوابت
المتغيرات والثوابت هما أساس أي لغة برمجة. في Dart، يُستخدمان لتخزين القيم التي يمكن استخدامها ومعالجتها لاحقًا.
2. المتغيرات (Variables)
تعريف:
المتغير هو مكان مخصص في الذاكرة لتخزين قيمة يمكن تغييرها أثناء تنفيذ البرنامج.
طريقة تعريف المتغير:
var variableName = value;
أنواع المتغيرات:
- var: تُستخدم لتعريف متغير دون تحديد النوع (Dart تُحدد النوع تلقائيًا).
- int: للأرقام الصحيحة.
- double: للأرقام العشرية.
- String: للنصوص.
- bool: للقيم المنطقية (true/false).
أمثلة:
void main() { var name = "Ahmed"; // متغير نصي int age = 25; // متغير عدد صحيح double height = 1.75; // متغير عدد عشري bool isStudent = true; // متغير منطقي print("Name: $name"); print("Age: $age"); print("Height: $height meters"); print("Is Student: $isStudent"); }
القواعد لتسمية المتغيرات:
- يجب أن تبدأ بحرف أو شرطة سفلية (_).
- لا يمكن أن تحتوي على مسافات أو رموز خاصة.
- يُفضل استخدام أسماء واضحة ومُعبِّرة.
3. الثوابت (Constants)
تعريف:
الثابت هو مكان مخصص في الذاكرة لتخزين قيمة لا يمكن تغييرها بعد تعريفها.
طريقة تعريف الثوابت:
- const: تُحدد قيمة ثابتة أثناء وقت الترجمة (Compile Time).
- final: تُحدد قيمة ثابتة أثناء وقت التشغيل (Run Time).
أمثلة:
void main() { const double pi = 3.14159; // ثابت وقت الترجمة final DateTime currentDate = DateTime.now(); // ثابت وقت التشغيل print("Pi: $pi"); print("Current Date: $currentDate"); }
الفرق بين const و final:
- const: يجب أن تكون القيمة معروفة أثناء كتابة الكود.
- final: يمكن تعيين القيمة أثناء التشغيل، ولكن لا يمكن تغييرها بعد ذلك.
4. الفرق بين المتغيرات والثوابت
العامل | المتغيرات (Variables) | الثوابت (Constants) |
---|---|---|
القابلية للتغيير | يمكن تغيير قيمتها | لا يمكن تغيير قيمتها |
الأنواع | var، int، String… | const، final |
وقت التخصيص | أثناء التنفيذ | وقت الترجمة أو التشغيل |
5. تطبيق عملي: حساب مساحة دائرة
الكود:
void main() { const double pi = 3.14159; // ثابتة لقيمة باي var radius = 5; // نصف القطر // حساب مساحة الدائرة double area = pi * radius * radius; print("Radius: $radius"); print("Area: $area"); }
النتيجة:
Radius: 5 Area: 78.53975
6. أخطاء شائعة عند استخدام المتغيرات والثوابت
- محاولة تغيير قيمة الثابت:
void main() { const int x = 10; x = 20; // خطأ: لا يمكن تغيير قيمة ثابتة }
تعريف متغير بدون تهيئة عند استخدام null safety:
void main() { int age; // خطأ: يجب تهيئة المتغير عند تعريفه print(age); }
7. تمرينات
- قم بإنشاء متغير لتخزين اسمك، وعمرك، وهل أنت طالب أم لا، ثم اطبع القيم.
- قم بإنشاء ثابت لتخزين قيمة الجاذبية الأرضية (9.8) واستخدمه لحساب وزن جسم كتلته 50 كجم.
- جرِّب تغيير قيمة ثابت واكتب ملاحظاتك.
بهذا نكون قد غطينا أساسيات المتغيرات والثوابت في لغة Dart. في الفصل التالي، سننتقل إلى الأنواع الأساسية للبيانات وكيفية التعامل معها.