شرح تدفق التحكم (Control Flow) في لغة Goآخر
الصفحة
ItsAdel
  • المشاركات: 535
    نقاط التميز: 2055
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
ItsAdel
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
المشاركات: 535
نقاط التميز: 2055
معدل المشاركات يوميا: 12.2
الأيام منذ الإنضمام: 44
  • 09:30 - 2025/03/02

وَ نَــــعُوذُ بِالْلهِ تَعَالَى مِنْ شُــــرُورِ أَنْفُسِنَا وَ مِنْ سَيِّئَــــاتِ أَعْمَالِنَا

مَنْ يَـــهْدِهِ الْلهُ تَعَالَى فَلَا مُضِــــلَّ لَهُ، وَ مَنْ يُـضْلِلْ فَلَا هَــــادِىَ لَه

وَ أَشْــــــــــهَدُ أَلَّا إِلَهَ إِلَّا الْلهُ وَحْــــــدَهُ لَا شَــــــرِيكَ لَه

وَ أَشْـــهَدُ أَنَّ مُحَمَّداً عَبْدُهُ وَ رَسُولُهُ، صَلَّى الْلهُ عَلَيْهِ وَ آلِهِ وَ سَلَّمَ تَسْلِيمَاً كَثِيرَا.

شرح تدفق التحكم (Control Flow) في لغة Go

تدفق التحكم في البرمجة يعني الترتيب الذي يتم به تنفيذ التعليمات في البرنامج.

هو أمر أساسي لاتخاذ القرارات وتكرار المهام. في هذا الموضوع، سأشرح الأمر بأبسط ما يمكنني.

1. الجمل الشرطية (Conditional Statements)

الجمل الشرطية تسمح للبرنامج باتخاذ قرارات بناءً على شروط معينة. أشهرها جملة "if".

جملة "if"

جملة "if" تتحقق من شرط معين. إذا كان الشرط صحيحًا، يتم تنفيذ مجموعة

من التعليمات. إذا لم يكن صحيحًا، يمكن تنفيذ تعليمات أخرى باستخدام "else".

مثال: لنفترض أننا نريد التحقق مما إذا كان العدد موجبًا:

  • نعرف متغير num بقيمة 5.
  • نشترط في "if" أن يكون num > 0. إذا كان الشرط صحيحًا، نطبع "العدد موجب".
  • إذا لم يكن صحيحًا، نطبع "العدد ليس موجب" باستخدام "else".
  • عند تشغيل البرنامج، ستكون النتيجة: “العدد موجب”.

جملة "else if"

يمكننا إضافة شروط إضافية باستخدام "else if" للتحقق من حالات متعددة.

مثال: التحقق مما إذا كان العدد موجبًا أو سالبًا أو صفرًا:

  • نتحقق أولاً إذا كان num > 0. إذا لم يكن كذلك، نتحقق إذا كان num < 0.
  • إذا لم يتحقق أي من الشرطين، فإن العدد يساوي صفر.
  • النتيجة هنا: العدد سالب.

2. الحلقات (Loops)

الحلقات تسمح بتكرار تنفيذ مجموعة من التعليمات عدة مرات. في Go، الحلقة الأساسية هي "for".

الحلقة "for" الأساسية

تحتوي الحلقة على ثلاثة أجزاء: التهيئة، الشرط، والزيادة

مثال: طباعة الأعداد من 1 إلى 5:

  • numbers هي شريحة تحتوي على أرقام.
  • _ يتجاهل الفهرس، و num يمثل القيمة في كل دورة.
  • النتيجة:

الحلقة بنمط "while"

في Go، لا يوجد "while" صريح، لكن يمكننا استخدام "for" مع شرط فقط.

مثال: طباعة الأعداد من 1 إلى 5:

  • نحدد i خارج الحلقة.
  • الحلقة تستمر طالما أن i <= 5، ونرفع قيمة i يدويًا.
  • النتيجة نفس المثال الأول.

جملة "switch"

جملة "switch" هي طريقة أنيقة للتعامل مع شروط متعددة بدلاً من "if-else" المتكرر.

مثال: تحديد يوم الأسبوع بناءً على رقم:

  • switch day يتحقق من قيمة day.
  • كل case يمثل قيمة محتملة، وإذا لم تتطابق أي قيمة، يتم تنفيذ default.
  • النتيجة: الأربعاء.

الآن لدي بعض المهام لك، حاول أن تحلها، لا تقلق إذا لم

تستطع من الوهلة الاولى، المهم أن تحاول بنفسك و تخطأ حتى تصيب.

مهمة 1: تحقق مما إذا كان العدد موجبًا

المهمة:

اكتب برنامجًا يطلب من المستخدم إدخال عدد.

إذا كان العدد أكبر من 0، اطبع "موجب".

خلاف ذلك، اطبع "ليس موجبًا".

الحل:

photo 8

مهمة 1: اطبع الأعداد من 1 إلى 5

المهمة:

اكتب برنامجًا يطبع الأعداد من 1 إلى 5 باستخدام حلقة for.

الحل:

المهمة 3: اختر يومًا

المهمة:

اكتب برنامجًا يطلب من المستخدم إدخال رقم (1 أو 2).

إذا أدخل 1، اطبع "الاثنين".

إذا أدخل 2، اطبع "الثلاثاء".

لأي رقم آخر، اطبع "غير صالح".

الحل:

عندك إستفسار أو سؤال ؟

اترك تعليق و سأرد عليك في أقرب وقت.

#GoLang

09:30 - 2025/03/02: تمت الموافقة على المشاركة بواسطة حاتم Hatim
03:53 - 2025/03/04: تم تغيير النص بواسطة ItsAdel

0📊0👍0👏0👌0🧠
حاتم Hatim

  • المشاركات:
    44353
نائب مراقب الكمبيوتر
حاتم Hatim
نائب مراقب الكمبيوتر
المشاركات: 44353
معدل المشاركات يوميا: 7.1
الأيام منذ الإنضمام: 6290
  • 09:32 - 2025/03/02
السلام عليكم ورحمة الله

بارك الله فيك اخي الكريم ، على المشاركة الفعالة و المميزة ، في ميزان حسناتكم

تحياتي..

1📊1👍0👏0👌0🧠
FayCaLMegris

  • المشاركات:
    9550
مشرف عالم البرمجة وملحقاتها
مشرف العملات الرقمية
FayCaLMegris

مشرف عالم البرمجة وملحقاتها
مشرف العملات الرقمية
المشاركات: 9550
معدل المشاركات يوميا: 2.8
الأيام منذ الإنضمام: 3423
  • 12:39 - 2025/03/02
تمر التثبيت والتنجبم

لي عودة للإطلاع

1📊1👍0👏0👌0🧠
ItsAdel
  • المشاركات: 535
    نقاط التميز: 2055
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
ItsAdel
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
المشاركات: 535
نقاط التميز: 2055
معدل المشاركات يوميا: 12.2
الأيام منذ الإنضمام: 44
  • 19:21 - 2025/03/06
@حاتم Hatim@FayCaLMegris

شكرا على تعليقاتكم المفرحة

صحا فطوركم

1📊1👍0👏0👌0🧠
NEXT LeVeL

  • المشاركات:
    45214
مشرف عالم البرمجة وملحقاتها
أفضل عضو لهذا الشهر بمنتدى الإهداءات
أفضل عضو لشهر الماضي بمنتدى الاذاعات
NEXT LeVeL

مشرف عالم البرمجة وملحقاتها
أفضل عضو لهذا الشهر بمنتدى الإهداءات
أفضل عضو لشهر الماضي بمنتدى الاذاعات
المشاركات: 45214
معدل المشاركات يوميا: 8.1
الأيام منذ الإنضمام: 5602
  • 23:34 - 2025/03/06
السلام عليكم
بارك الله فيك اخي
موضوع رائع وشرح مميز
تدفق التحكم (Control Flow) مفهوم مهم في في لغة Go
1📊1👍0👏0👌0🧠
ItsAdel
  • المشاركات: 535
    نقاط التميز: 2055
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
ItsAdel
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
المشاركات: 535
نقاط التميز: 2055
معدل المشاركات يوميا: 12.2
الأيام منذ الإنضمام: 44
  • 23:51 - 2025/03/06

إقتباس لمشاركة: @NEXT LeVeL 21:34 - 2025/03/06

السلام عليكم
بارك الله فيك اخي
موضوع رائع وشرح مميز
تدفق التحكم (Control Flow) مفهوم مهم في في لغة Go

بالطبع، مستحيل أن تصنع تطبيق او موقع بدون if أو Switch

شكرا على المرور الطيب

0📊0👍0👏0👌0🧠

الرد على المواضيع متوفر للأعضاء فقط.

الرجاء الدخول بعضويتك أو التسجيل بعضوية جديدة.

  • إسم العضوية: 
  • الكلمة السرية: 

 شرح تدفق التحكم (Control Flow) في لغة Goبداية
الصفحة