في لغة دارت، يتوفر لنا العديد من طرق التحكم التي تساعدنا في تنظيم تدفق البرنامج واتخاذ قرارات مختلفة. واحدة من هذه الطرق هي switch case. تعتبر switch case أداة قوية للتحكم في التدفق البرمجي بناءً على قيمة معينة. في هذه المقالة، سنستكشف مفهوم switch case في لغة دارت، وكيفية استخدامها، والمزايا التي توفرها في البرمجة.
ما هي switch case؟
- switch case هي طريقة تحكم تستخدم لتنفيذ جزء من الكود بناءً على قيمة معينة.
- يتم تحديد القيمة التي سيتم التحقق منها في statement الأول، ويتم تنفيذ الجزء المطابق لهذه القيمة.
مثال على استخدام Switch Case:
void main() { String day = 'Saturday'; switch (day) { case 'Monday': print('Today is Monday'); break; case 'Tuesday': print('Today is Tuesday'); break; case 'Wednesday': print('Today is Wednesday'); break; case 'Thursday': print('Today is Thursday'); break; case 'Friday': print('Today is Friday'); break; case 'Saturday': print('Today is Saturday'); break; case 'Sunday': print('Today is Sunday'); break; default: print('Invalid day'); } }
النتيجة:
Today is Saturday
في الكود أعلاه، لدينا متغير day يحتوي على قيمة “Saturday”. تستخدم switch case للتحقق من قيمة المتغير day وتنفيذ الجزء المطابق لهذه القيمة. في هذه الحالة، يتم تنفيذ الجزء الذي يطابق قيمة “Saturday” ويتم طباعة “Today is Saturday”.
كيفية استخدام switch case في لغة دارت
- يتكون switch case من العبارة switch وقائمة من العبارات case واختياريًا عبارة default.
- يتم تحديد القيمة التي سيتم التحقق منها في statement الأول بعد العبارة switch.
- يتم تعيين قيم مطابقة محتملة في عبارات case، ويتم تنفيذ الجزء المطابق لهذه القيمة.
- يمكن استخدام عبارة default لتنفيذ جزء معين عندما لا تتطابق القيمة مع أي من العبارات case.
- تُستخدم كلمة “break” لإخبار دارت بالخروج من switch case بعد انتهاء الأوامر في كل حالة.
مثال أخر على استخدام Switch Case:
void main() { int number = 3; switch (number) { case 1: print('The number is 1'); break; case 2: print('The number is 2'); break; case 3: print('The number is 3'); break; default: print('Invalid number'); } }
النتيجة:
The number is 3
في هذا المثال، لدينا متغير number يحتوي على قيمة 3. يتم استخدام switch case للتحقق من قيمة المتغير number وتنفيذ الجزء المطابق لهذه القيمة. في هذه الحالة، يتم تنفيذ الجزء الذي يطابق قيمة 3 ويتم طباعة “The number is 3”.
أمثلة على استخدام switch case
void main() { String fruit = 'Apple'; switch (fruit) { case 'Apple': print('It is an apple'); break; case 'Banana': print('It is a banana'); break; case 'Orange': print('It is an orange'); break; default: print('Unknown fruit'); } }
النتيجة:
It is an apple
في هذا المثال، لدينا متغير fruit يحتوي على قيمة “Apple”. يتم استخدام بنية switch case للتحقق من قيمة fruit وتنفيذ الجزء المطابق لهذه القيمة. في هذه الحالة، يتم تنفيذ الجزء الذي يطابق قيمة “Apple” ويتم طباعة “It is an apple”.
مثال باستخدام “If – Else If”:
void main() { var dayOfWeek = 5; if (dayOfWeek == 1) { print("اليوم هو الأحد."); } else if (dayOfWeek == 2) { print("اليوم هو الاثنين."); } else if (dayOfWeek == 3) { print("اليوم هو الثلاثاء."); } else if (dayOfWeek == 4) { print("اليوم هو الأربعاء."); } else if (dayOfWeek == 5) { print("اليوم هو الخميس."); } else if (dayOfWeek == 6) { print("اليوم هو الجمعة."); } else if (dayOfWeek == 7) { print("اليوم هو السبت."); } else { print("يوم غير صالح."); } }
نتيجة البرنامج:
اليوم هو الخميس.
نفس المثال باستخدام switch case
void main() { var dayOfWeek = 5; switch (dayOfWeek) { case 1: print("اليوم هو الأحد."); break; case 2: print("اليوم هو الاثنين."); break; case 3: print("اليوم هو الثلاثاء."); break; case 4: print("اليوم هو الأربعاء."); break; case 5: print("اليوم هو الخميس."); break; case 6: print("اليوم هو الجمعة."); break; case 7: print("اليوم هو السبت."); break; default: print("يوم غير صالح."); break; } }
نتيجة البرنامج:
اليوم هو الخميس.
في هذا المثال، تم تعيين قيمة dayOfWeek إلى 5. ثم تم استخدام switch case لمقارنة قيمة dayOfWeek مع قيم الحالات المختلفة. نظرًا لأن قيمة dayOfWeek تطابق الحالة 5، تم تنفيذ الأوامر الموجودة في هذه الحالة وتم طباعة “اليوم هو الخميس”.
إذا لم تتطابق قيمة dayOfWeek مع أي من الحالات المحددة، فسيتم تنفيذ الأوامر في الحالة الافتراضية (default) إذا توفرت. في هذا المثال، تم تضمين حالة افتراضية التي تقوم بطباعة “يوم غير صالح” إذا لم تتطابق القيمة مع أي حالة.
طريقة switch case تعتبر أداة قوية في لغة دارت للتحكم في تدفق البرنامج بناءً على قيمة معينة. يمكن استخدامها لتنفيذ جزء محدد من الكود عندما تتطابق القيمة مع إحدى القيم المحددة في العبارات case. كما يمكن استخدام عبارة default لتنفيذ جزء معين عندما لا تتطابق القيمة مع أي من العبارات case. استخدام بنية switch case يجعل الأكواد أكثر وضوحًا وسهولة في القراءة والصيانة.