شرح تدفق التحكم (Control Flow) في لغة Goط·آ¢ط·آ®ط·آ±
ط·آ§ط¸â€‍ط·آµط¸ظ¾ط·آ­ط·آ©
ItsAdel
  • ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾: 535
    ط¸â€ ط¸â€ڑط·آ§ط·آ· ط·آ§ط¸â€‍ط·ع¾ط¸â€¦ط¸ظ¹ط·آ²: 2055
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
مطور Go
ItsAdel
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
مطور Go
ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾: 535
ط¸â€ ط¸â€ڑط·آ§ط·آ· ط·آ§ط¸â€‍ط·ع¾ط¸â€¦ط¸ظ¹ط·آ²: 2055
ط¸â€¦ط·آ¹ط·آ¯ط¸â€‍ ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾ ط¸ظ¹ط¸ث†ط¸â€¦ط¸ظ¹ط·آ§: 11.1
ط·آ§ط¸â€‍ط·آ£ط¸ظ¹ط·آ§ط¸â€¦ ط¸â€¦ط¸â€ ط·آ° ط·آ§ط¸â€‍ط·آ¥ط¸â€ ط·آ¶ط¸â€¦ط·آ§ط¸â€¦: 48
  • 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

  • ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾:
    44391
نائب مراقب الكمبيوتر
حاتم Hatim
نائب مراقب الكمبيوتر
ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾: 44391
ط¸â€¦ط·آ¹ط·آ¯ط¸â€‍ ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾ ط¸ظ¹ط¸ث†ط¸â€¦ط¸ظ¹ط·آ§: 7.1
ط·آ§ط¸â€‍ط·آ£ط¸ظ¹ط·آ§ط¸â€¦ ط¸â€¦ط¸â€ ط·آ° ط·آ§ط¸â€‍ط·آ¥ط¸â€ ط·آ¶ط¸â€¦ط·آ§ط¸â€¦: 6294
  • 09:32 - 2025/03/02
السلام عليكم ورحمة الله

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

تحياتي..

1📊1👍0👏0👌0🧠
FayCaLMegris

  • ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾:
    9563
مشرف عالم البرمجة وملحقاتها
مشرف العملات الرقمية
FayCaLMegris

مشرف عالم البرمجة وملحقاتها
مشرف العملات الرقمية
ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾: 9563
ط¸â€¦ط·آ¹ط·آ¯ط¸â€‍ ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾ ط¸ظ¹ط¸ث†ط¸â€¦ط¸ظ¹ط·آ§: 2.8
ط·آ§ط¸â€‍ط·آ£ط¸ظ¹ط·آ§ط¸â€¦ ط¸â€¦ط¸â€ ط·آ° ط·آ§ط¸â€‍ط·آ¥ط¸â€ ط·آ¶ط¸â€¦ط·آ§ط¸â€¦: 3427
  • 12:39 - 2025/03/02
تمر التثبيت والتنجبم

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

1📊1👍0👏0👌0🧠
ItsAdel
  • ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾: 535
    ط¸â€ ط¸â€ڑط·آ§ط·آ· ط·آ§ط¸â€‍ط·ع¾ط¸â€¦ط¸ظ¹ط·آ²: 2055
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
مطور Go
ItsAdel
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
مطور Go
ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾: 535
ط¸â€ ط¸â€ڑط·آ§ط·آ· ط·آ§ط¸â€‍ط·ع¾ط¸â€¦ط¸ظ¹ط·آ²: 2055
ط¸â€¦ط·آ¹ط·آ¯ط¸â€‍ ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾ ط¸ظ¹ط¸ث†ط¸â€¦ط¸ظ¹ط·آ§: 11.1
ط·آ§ط¸â€‍ط·آ£ط¸ظ¹ط·آ§ط¸â€¦ ط¸â€¦ط¸â€ ط·آ° ط·آ§ط¸â€‍ط·آ¥ط¸â€ ط·آ¶ط¸â€¦ط·آ§ط¸â€¦: 48
  • 19:21 - 2025/03/06
@حاتم Hatim@FayCaLMegris

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

صحا فطوركم

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

  • ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾:
    45214
مشرف عالم البرمجة وملحقاتها
أفضل عضو لشهر الماضي بمنتدى الاذاعات
NEXT LeVeL

مشرف عالم البرمجة وملحقاتها
أفضل عضو لشهر الماضي بمنتدى الاذاعات
ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾: 45214
ط¸â€¦ط·آ¹ط·آ¯ط¸â€‍ ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾ ط¸ظ¹ط¸ث†ط¸â€¦ط¸ظ¹ط·آ§: 8.1
ط·آ§ط¸â€‍ط·آ£ط¸ظ¹ط·آ§ط¸â€¦ ط¸â€¦ط¸â€ ط·آ° ط·آ§ط¸â€‍ط·آ¥ط¸â€ ط·آ¶ط¸â€¦ط·آ§ط¸â€¦: 5606
  • 23:34 - 2025/03/06
السلام عليكم
بارك الله فيك اخي
موضوع رائع وشرح مميز
تدفق التحكم (Control Flow) مفهوم مهم في في لغة Go
1📊1👍0👏0👌0🧠
ItsAdel
  • ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾: 535
    ط¸â€ ط¸â€ڑط·آ§ط·آ· ط·آ§ط¸â€‍ط·ع¾ط¸â€¦ط¸ظ¹ط·آ²: 2055
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
مطور Go
ItsAdel
عضو فريق العمل
أفضلَ عضوٍ بمنتدى عالمِ البرمجةِ وملحقاتها
مطور Go
ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾: 535
ط¸â€ ط¸â€ڑط·آ§ط·آ· ط·آ§ط¸â€‍ط·ع¾ط¸â€¦ط¸ظ¹ط·آ²: 2055
ط¸â€¦ط·آ¹ط·آ¯ط¸â€‍ ط·آ§ط¸â€‍ط¸â€¦ط·آ´ط·آ§ط·آ±ط¸ئ’ط·آ§ط·ع¾ ط¸ظ¹ط¸ث†ط¸â€¦ط¸ظ¹ط·آ§: 11.1
ط·آ§ط¸â€‍ط·آ£ط¸ظ¹ط·آ§ط¸â€¦ ط¸â€¦ط¸â€ ط·آ° ط·آ§ط¸â€‍ط·آ¥ط¸â€ ط·آ¶ط¸â€¦ط·آ§ط¸â€¦: 48
  • 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ط·آ¨ط·آ¯ط·آ§ط¸ظ¹ط·آ©
ط·آ§ط¸â€‍ط·آµط¸ظ¾ط·آ­ط·آ©