حلقة `for` - بشرط فقط
جزء من قسم Fundamentals في رحلة GO على Coddy — الدرس 46 من 109.
دعونا نتعلم عن حلقة for ذات الشرط فقط في لغة Go. يعمل هذا النوع من الحلقات مثل حلقة while في اللغات الأخرى، حيث يستخدم شرطاً فقط دون الحاجة إلى عبارات تهيئة (initialization) أو عبارات لاحقة (post statements).
أولاً، لنقم بإنشاء برنامج عداد بسيط يعد من 1 إلى 3:
i := 1
for i <= 3 {
fmt.Println(i)
i++
}بعد تنفيذ هذا الكود، ستظهر الأرقام 1 و 2 و 3 على الشاشة واحداً تلو الآخر:
1
2
3تعمل الحلقة من خلال التحقق مما إذا كان i أقل من أو يساوي 3 قبل كل تكرار. داخل الحلقة، نقوم بطباعة القيمة الحالية لـ i ثم نزيدها بمقدار 1 باستخدام i++. تستمر الحلقة في العمل طالما ظل الشرط i <= 3 صحيحاً، وتتوقف عندما يصبح i يساوي 4.
على عكس حلقة for القياسية، نحتاج إلى زيادة متغير العداد يدوياً داخل جسم الحلقة، وإلا فسننشئ حلقة لا نهائية.
التحدي
مبتدئفي هذا التحدي، ستتدرب على استخدام حلقة for مع شرط فقط (بدون تهيئة أو عبارة لاحقة). هذا مشابه لحلقة while في اللغات الأخرى.
لقد وفرنا متغيراً منطقياً (boolean) باسم keepRunning تم تعيينه على true ومتغيراً للعداد باسم count تم تعيينه على 0. مهمتك هي إكمال حلقة for التي ستطبع الأرقام من 0 إلى 4 ثم تتوقف.
داخل الحلقة، نقوم بزيادة count والتحقق مما إذا كان يصل إلى 5. عندما يصل إلى ذلك، نقوم بتعيين keepRunning على false للخروج من الحلقة.
ورقة مرجعية
تعمل حلقة for ذات الشرط فقط في لغة Go مثل حلقة while، حيث تستخدم شرطاً فقط بدون عبارات تهيئة أو عبارات لاحقة:
i := 1
for i <= 3 {
fmt.Println(i)
i++
}تتحقق الحلقة من الشرط قبل كل تكرار وتستمر طالما ظل الشرط صحيحاً. يجب عليك زيادة متغير العداد يدوياً داخل جسم الحلقة لتجنب الحلقات اللانهائية.
جرّب بنفسك
package main
import "fmt"
func main() {
// هذه المتغيرات معدة مسبقاً لك
keepRunning := true
count := 0
// مهمة: أكمل حلقة for التي تستخدم شرطاً فقط (مثل حلقة while)
// يجب أن تستمر الحلقة طالما أن keepRunning قيمتها true
for {
// طباعة العداد الحالي
fmt.Println(count)
// زيادة العداد
count++
// تحقق مما إذا كان العداد 5، وإذا كان الأمر كذلك، اجعل keepRunning تساوي false
if count >= 5 {
keepRunning = false
}
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4معاملات المقارنة والمعاملات المنطقية
معاملات المقارنة - الجزء 1معاملات المقارنة - الجزء 2معامل AND المنطقيمعامل OR المنطقيمعامل NOT المنطقيأساسيات أولوية المعاملاتملخص - إجراء المقارنات7تدفق التحكم: الحلقات التكرارية
شرح حلقة `for`حلقة `for` - أساسياتحلقة `for` - بشرط فقطالكلمة المفتاحية `break`الكلمة المفتاحية `continue`الحلقات المتداخلةملخص - تكرار العمليات2المتغيرات وأنواع البيانات الأساسية
ما هو المتغير؟استنتاج النوع باستخدام `:=`الأعداد الصحيحة (int)أرقام الفاصلة العائمةالقيم المنطقية (Booleans)النصوص (Strings)القيم الصفريةالثوابتقواعد التسميةملخص - المتغيرات والأنواع5الإدخال والإخراج الأساسي
المخرجات المنسقةرموز التنسيقطباعة الأنواعالحصول على مدخلات المستخدم الأساسيةملخص - الإدخال والإخراج8الدوال
فهم الدوالالتصريح عن دالةاستدعاء الدوالمعاملات الدالةإرجاع قيمة واحدةإرجاع قيم متعددةقيم الإرجاع المسماةأساسيات نطاق الدالةملخص - إنشاء كود قابل لإعادة الاستخدام3المعاملات الأساسية
المعاملات الحسابيةمعامل القسمةمعامل باقي القسمةمعامل التعيينمعاملات التعيين المركبةالزيادة والنقصانملخص - الحسابات6تدفق التحكم: الجمل الشرطية
جملة `if`الكلمة المفتاحية `else`الكلمة المفتاحية `else if`تظليل المتغيرات في `if`تهيئة المتغيراتجملة `switch``switch` مع التعبيرات`switch` بدون تعبيرالكلمة المفتاحية `fallthrough`ملخص - اتخاذ القرارات