By using this site, you agree to the Privacy Policy and Terms of Use.
موافق
عرب فلاترعرب فلاتر
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
قراءة: الدرس 53: 10 تمارين محلولة على Null Safety في لغة دارت Dart
شارك
تسجيل الدخول
إشعار أظهر المزيد
Aa
عرب فلاترعرب فلاتر
Aa
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
Search

أقسام الموقع

استكشف جميع أقسام الموقع
قسم Dart في موقع عرب فلاتر

Dart

59 مقالات
قسم Widgets في موقع عرب فلاتر

Widgets

104 مقالات
قسم Packages في موقع عرب فلاتر

Packages

19 مقالات
قسم Tutorials في موقع عرب فلاتر

Tutorials

22 مقالات

أخر المواضيع

استكشف أخر المواضيع المنشورة
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

5
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials

حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر

10
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials

أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات

17
لديك حساب موجود؟ تسجيل الدخول
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
عرب فلاتر > Dart > الدرس 53: 10 تمارين محلولة على Null Safety في لغة دارت Dart
Dart

الدرس 53: 10 تمارين محلولة على Null Safety في لغة دارت Dart

عبدالله يوسف
أخر تحديث 2024/11/15
بواسطة عبدالله يوسف اضف تعليق 5 دقيقة للقراءة 2676 مشاهدات 5
شارك
10 تمارين محلولة على Null Safety في لغة دارت Dart
10 تمارين محلولة على Null Safety في لغة دارت Dart
شارك

خدماتنا البرمجية – عرب فلاتر🚀

خدماتنا البرمجية – عرب فلاتر

في هذه المقالة سنتعرف على تمارين Null Safety في لغة Dart. سنقوم بتناول عدة مسائل وتطبيقات تساعدنا على فهم واستخدام Null Safety في Dart. سنقوم بتقسيم المقال إلى عناوين فرعية تحتوي على شروحات وأمثلة توضيحية للأكواد.

المحتويات
مثال 1: Null Safety In Dartمثال 2: Nullable Type Parameter For Genericsمثال 3: Null Safety In Dartمثال 4: Null Assertion Operator (!) For Genericsمثال 5: Null Assertion Operator (!) For Genericsمثال 6: Null Assertion Operator (!)مثال 7: Null Coalescing Operator (??)مثال 8: Type Promotionمثال 9: Type Promotionمثال 10: Late Keyword

مثال 1: Null Safety In Dart

في هذا التمرين، سنقوم بتعريف متغير يسمى age ونعين له قيمة null باستخدام عامل التصريح عن القيمة الفارغة (?).

الكود:

void main() {
  int? age;
  age = null;
  print("Age is $age");
}

نتيجة الكود:

Age is null

مثال 2: Nullable Type Parameter For Generics

في هذا التمرين، سنقوم باستخدام عامل التصريح عن القيمة الفارغة (?) لجعل نوع المعامل في قائمة nullable.

الكود:

void main() {
  List<int?> items = [1, 2, null, 4];
  print(items);
}

نتيجة الكود:

[1, 2, null, 4]

مثال 3: Null Safety In Dart

في هذا التمرين، سنستخدم عامل التأكيد على عدم القيمة الفارغة (!) لطباعة قيمة null إذا كان المتغير فارغًا.

الكود:

void main() {
  String? name;
  name = null;
  String? name1 = name;
  print(name1);
}

نتيجة الكود:

null

مثال 4: Null Assertion Operator (!) For Generics

في هذا التمرين، سنستخدم عامل التأكيد على عدم القيمة الفارغة (!) لطباعة قيمة null إذا كان المتغير فارغًا.

الكود:

void main() {
  List<int?> items = [1, 2, null, 4];

  int firstItem = items.first!;

  print(firstItem);
}

نتيجة الكود:

1

مثال 5: Null Assertion Operator (!) For Generics

في هذا التمرين، سنستخدم عامل التأكيد على عدم القيمة الفارغة (!) لطباعة قيمة null إذا كان المتغير فارغًا.

الكود:

int? returnNullButSometimesNot() {
  return -5;
}

void main() {
 int? result = returnNullButSometimesNot()?.abs();
 print(result);
}

نتيجة الكود:

5

مثال 6: Null Assertion Operator (!)

في هذا التمرين، سنستخدم عامل التأكيد على عدم القيمة الفارغة (!) لطباعة طول السلسلة أو إرجاع قيمة null إذا كان المتغير فارغًا.

الكود:

int findLength(String? name) {
  return name!.length;
}

void main() {
  int? length = findLength("Hello");
  print("The length of the string is $length");
}

نتيجة الكود:

The length of the string is 5

مثال 7: Null Coalescing Operator (??)

إذا كنت ترغب في تعيين قيمة افتراضية لمتغير إذا كان فارغًا، يمكنك استخدام عامل دمج القيم الفارغة (??). في هذا التمرين، سنستخدم عامل دمج القيم الفارغة (??) لتعيين قيمة افتراضية للمتغير Stranger إذا كان فارغًا.

الكود:

void main() {
  String? name;
  name = null;
  String name1 = name ?? "Stranger";
  print(name1);
}

نتيجة الكود:

Stranger

مثال 8: Type Promotion

في هذا التمرين، سنقوم بحل الخطأ باستخدام ترقية النوع (Type Promotion).

الكود:

void main() {
  Object name = "Mark";
  print("The length of name is ${name.length}");
}

نتيجة الكود:

Error: The getter 'length' isn't defined for the class 'Object'.

حل المشكلة باستخدام ترقية النوع:

الكود المعدل:

void main() {
  Object name = "Mark";
  if (name is String) {
    print("The length of name is ${name.length}");
  } else {
    print("The value is not a string.");
  }
}

نتيجة الكود:

The length of name is 4

مثال 9: Type Promotion

في هذا التمرين، سنقوم بحل الخطأ باستخدام ترقية النوع (Type Promotion).

الكود:

import 'dart:math';

class DataProvider {
  String? get stringOrNull => Random().nextBool() ? "Hello" : null;

  void myMethod() {
    if (stringOrNull is String) {
      print("The length of value is ${stringOrNull.length}");
    } else {
      print("The value is not a string.");
    }
  }
}

void main() {
  DataProvider().myMethod();
}

نتيجة الكود: قد يكون الناتج مختلفًا بناءً على قيمة عشوائية.


مثال 10: Late Keyword

في هذا التمرين، سنقوم باستخدام الكلمة المفتاحية late لحل الخطأ.

الكود:

class Person {
  late String _name;

  void setName(String name) {
    _name = name;
  }

  String get name => _name;
}

void main() {
  Person person = Person();
  person.setName("Mark");
  print(person.name);
}

نتيجة الكود:

Mark

هذه كانت بعض التمارين المتعلقة بـ Null Safety في لغة Dart. يمكنك تطبيق هذه التمارين لتعزيز فهمك وممارستك لاستخدام Null Safety في تطوير تطبيقاتك بلغة Dart.

Arab Flutter Community 🚀

انضم إلى مجتمع Arab Flutter
شارك هذا المقال
فيسبوك تويتر Whatsapp Whatsapp لينكد ان تلغرام نسخ الرابط
المقال السابق شرح كلمة Late في لغة دارت (Late in Dart) الدرس 52: شرح كلمة Late في لغة دارت (Late in Dart)
المقال التالي شرح مفهوم الـ Asynchronous في لغة دارت (Dart) الدرس 54: شرح مفهوم الـ Asynchronous في لغة دارت (Dart)
Avatar of عبدالله يوسف
بواسطة عبدالله يوسف Founder and CEO at ArabFlutter
تابع:
أنا عبدالله يوسف، مهندس مصري ومؤسس موقع عرب فلاتر، ملهم بشغف التكنولوجيا والإبداع. كمصمم مواقع ومبرمج تطبيقات موبايل باستخدام Flutter، أستمتع بخلق عوالم رقمية فريدة ومبتكرة. تتجلى مواهبي في تصميم وتطوير واجهات مستخدم تفاعلية، حيث يمزج الجانب الجمالي بالدقة الهندسية. ما يميزني هو إلمامي الواسع بتقنيات البرمجة والتصميم، ومقدرتي على تطوير تطبيقات متنوعة عبر منصات مختلفة. أعتبر نفسي مبدعًا وملتزمًا، حيث أسعى دائمًا لتحقيق تحسين مستمر في مهاراتي وتقنياتي. أستمتع بتحديات العمل الجماعي وأؤمن بأهمية الابتكار والتطور. بفضل إبداعي والتزامي، أسعى لتقديم حلول فعّالة تلبي توقعات العملاء وتفوق عن المألوف.
اترك تعليقا اترك تعليقا

اترك تعليقاً إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials
طريقة انشاء المجلدات باستخدام Dart
طريقة انشاء المجلدات باستخدام كود Dart تلقائيًا
Tutorials

مقالات ذات الصلة

اطلع على المزيد من المقالات المتعلقة بهذا الموضوع!
شرح العوازل في لغة دارت (Isolates in Dart)
Dart

شرح العوازل في لغة دارت (Isolates in Dart)

8
شرح الـ Stream في لغة دارت (Stream in Dart)
Dart

الدرس 57: شرح الـ Stream في لغة دارت (Stream in Dart)

8
شرح عبارات async & await في لغة دارت (Dart)
Dart

الدرس 56: شرح عبارات async & await في لغة دارت (Dart)

6
شرح مفهوم الـ Future في لغة دارت (Future In Dart)
Dart

الدرس 55: شرح مفهوم الـ Future في لغة دارت (Future In Dart)

6
شرح مفهوم الـ Asynchronous في لغة دارت (Dart)
Dart

الدرس 54: شرح مفهوم الـ Asynchronous في لغة دارت (Dart)

5
شرح كلمة Late في لغة دارت (Late in Dart)
Dart

الدرس 52: شرح كلمة Late في لغة دارت (Late in Dart)

8
أظهر المزيد
شعار موقع عرب فلاتر شعار موقع عرب فلاتر

About US

Quick Links

  • خدماتنا
  • من نحن
  • اتصل بنا
  • اتفاقية استخدام
  • سياسة الخصوصية
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
adbanner
تم اكتشاف مانع إعلانات
مرحبًا، يرجى إيقاف مانع الإعلانات. الإعلانات تُساهم في دعم موقعنا وتغطية جزء من تكاليف الاستضافة وتطوير المحتوى. شكرًا لتفهمك ودعمك.
Okay, I'll Whitelist
Welcome Back!

Sign in to your account

هل نسيت كلمة المرور؟