فهم الـ Null
جزء من قسم Fundamentals في رحلة Dart على Coddy — الدرس 77 من 94.
يمثل Null في Dart غياب القيمة. بشكل افتراضي، لا يمكن أن تكون المتغيرات في Dart هي null ما لم يُسمح بذلك صراحةً.
أنشئ متغيرًا يمكن أن يكون null عن طريق إضافة علامة استفهام بعد النوع:
String? name = null;
print(name);بعد تنفيذ الكود أعلاه، ستكون النتيجة:
nullلا يمكن أن تكون المتغيرات العادية null ويجب أن تحتوي على قيمة:
// سيؤدي هذا إلى حدوث خطأ:
// String name = null;
// هذا صالح:
String name = 'Dart';
print(name);بعد تنفيذ الكود أعلاه، ستكون النتيجة:
Dartالتحدي
سهلفي هذا التحدي، ستتدرب على التعامل مع المتغيرات القابلة للإلغاء (nullable variables) في Dart. يمكن للمتغير القابل للإلغاء أن يحمل إما قيمة أو null.
أكمل الكود للتحقق مما إذا كان المتغير username هو null. إذا كان كذلك، فقم بتعيين السلسلة النصية "Guest" للمتغير displayName. إذا لم يكن username هو null، فقم بتعيين قيمة username إلى displayName.
المخرجات المتوقعة:
Welcome, Guest!ورقة مرجعية
في لغة Dart، يمثل null غياب القيمة. لا يمكن أن تكون المتغيرات null بشكل افتراضي ما لم يُسمح بذلك صراحةً.
قم بإنشاء متغير يقبل القيمة null عن طريق إضافة علامة استفهام بعد النوع:
String? name = null;يجب أن تحتوي المتغيرات العادية على قيمة ولا يمكن أن تكون null:
String name = 'Dart'; // صالح
// String name = null; // خطأجرّب بنفسك
void main() {
// متغير String القابل للقيمة الخالية (nullable) معرف مسبقاً لك
String? username = null;
// مهام: تحقق مما إذا كان اسم المستخدم (username) فارغاً (null)
// إذا كان فارغاً، قم بتعيين displayName إلى "Guest"
// إذا لم يكن فارغاً، قم بتعيين displayName إلى قيمة username
String displayName = "";
// سيقوم هذا بعرض رسالة الترحيب
print("Welcome, $displayName!");
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الثاني
معاملات المقارنةالمعامل المنطقي ANDالمعامل المنطقي ORالمعامل المنطقي NOTمعاملات فحص النوعملخص - إجراء المقارنات7التعامل مع النصوص (Strings)
دمج النصوص (String Concatenation)تضمين النصوص (String Interpolation)النصوص متعددة الأسطر (Multi-line Strings)خصائص النصوص (String Properties)دوال النصوص الأساسية (String Methods)10المجموعات - أساسيات الخرائط
ما هي الخرائط؟إنشاء خريطةالوصول إلى القيم عبر المفتاحأزواج المفتاح والقيمةالحصول على حجم الخريطةالحصول على المفاتيحالحصول على القيمالتحقق من وجود مفتاح13أمان الـ Null بشكل متعمق
فهم الـ Nullالأنواع القابلة لقيمة Nullالأنواع غير القابلة لقيمة Nullعامل التأكيد على الـ Nullالتهيئة المتأخرةملخص - التعامل مع الـ Null بأمان2المتغيرات وأنواع البيانات الأساسية
ما هي المتغيرات؟النصوص (Strings)الأعداد الصحيحة (int)الأعداد العشرية (double)القيم المنطقية (bool)استنتاج النوع باستخدام 'var'المتغيرات النهائية (Final)المتغيرات الثابتة (Constant)قواعد التسميةأساسيات الـ Null Safetyملخص - التصريح عن المتغيرات8مسار التحكم - الحلقات التكرارية
حلقة 'for' التكراريةحلقة 'while' التكراريةحلقة 'do-while' التكراريةاستخدام 'break' في الحلقات التكراريةاستخدام 'continue' في الحلقات التكراريةملخص - تكرار الكود البرمجي3المعاملات - الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمة (Modulo)الزيادة والنقصاناختصارات التعيينملخص - الحسابات البسيطة6تدفق التحكم - اتخاذ القرار
جملة 'if'جملة 'else'جملة 'else if'ملخص - القرارات البسيطةجمل 'if' المتداخلةجملة 'switch'9المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمة