الأنواع غير القابلة لقيمة Null
جزء من قسم الأساسيات في رحلة Dart على Coddy. الدرس 79 من 94.
تكون الأنواع غير القابلة لـ null هي الأنواع الافتراضية لجميع المتغيرات في Dart. عند التصريح عن متغير دون الرمز ?، يجب أن تكون له قيمة دائمًا ولا يمكن أن يكون null.
أنشئ متغيرًا من النوع String غير قابل لأن تكون قيمته null:
String name = 'Dart';
print(name);بعد تنفيذ الشيفرة أعلاه، سيكون الناتج:
Dartتؤدي محاولة إسناد قيمة null إلى متغير غير قابل لأن تكون قيمته null إلى حدوث خطأ:
// سيؤدي هذا إلى حدوث خطأ:
// String language = null;يجب تهيئة المتغيرات التي لا تقبل القيمة null بقيمة:
int score = 100;
bool isActive = true;
double price = 9.99;
print('Score: $score, Active: $isActive, Price: $price');بعد تنفيذ الشفرة أعلاه، سيكون الناتج:
Score: 100, Active: true, Price: 9.99التحدي
مبتدئفي هذا التحدي، ستتدرّب على التعامل مع الأنواع غير القابلة لأن تكون null في Dart. افتراضيًا، لا يمكن أن تكون المتغيرات في Dart بقيمة null، إلا إذا جعلتها قابلة لأن تكون null صراحةً باستخدام الرمز ?.
مهمتك هي إصلاح الشيفرة بإسناد قيم مناسبة إلى المتغيرات غير القابلة لأن تكون null التي لم تُهيَّأ حاليًا.
المخرجات المتوقعة:
Name: John
Age: 25
Is active: true
Score: 95.5جرّب بنفسك
void main() {
// هذه المتغيرات لا تقبل القيمة null وتحتاج إلى قيم
// TODO: هيّئ هذه المتغيرات بقيم مناسبة
String name;
int age;
bool isActive;
double score;
// ستطبع هذه الشيفرة القيم
print('Name: $name');
print('Age: $age');
print('Is active: $isActive');
print('Score: $score');
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
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المجموعات - أساسيات القوائم
ما هي القوائم؟إنشاء قائمةالوصول عبر الفهرسالحصول على طول القائمةإضافة عناصرإزالة عناصرالتحقق مما إذا كانت القائمة فارغةالتكرار عبر القائمةتدرّب بنفسك: مترجم Dart عبر الإنترنت