حلقة for: جميع الأنماط
حلقات النمط التقليدي، ونمط while، واللانهائية، وrange
حلقة for: جميع الأنماط درس مجاني في Go Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Go Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Go Academy 4 دروس في المجموع.
لدى Go حلقة واحدة فقط
لدى Go حلقة for واحدة فقط — فلا توجد while أو do-while. وتغطي الكلمة المفتاحية for جميع أنماط التكرار من خلال صيغ مختلفة.
حلقة for بأسلوب C التقليدي
الحلقة التقليدية ذات البنود الثلاثة:
for i := 0; i < 5; i++ {
fmt.Println(i)
}حلقة بأسلوب while
احذف بندَي التهيئة وما بعد الحلقة للحصول على حلقة شبيهة بـ while:
n := 1
for n < 100 {
n *= 2
}حلقة لا نهائية
احذف جميع البنود لإنشاء حلقة لا نهائية، ويجب استخدام break أو return للخروج منها:
for {
msg := receive()
if msg == "quit" {
break
}
process(msg)
}range على شريحة
تكرّر range على شريحة، ويعيد الفهرس والقيمة:
fruits := []string{"apple", "banana", "cherry"}
for i, fruit := range fruits {
fmt.Printf("%d: %s\n", i, fruit)
}range على خريطة
يعيد range على خريطة أزواج المفتاح والقيمة، ويكون ترتيب التكرار عشوائيًا:
scores := map[string]int{"Alice": 90, "Bob": 85}
for name, score := range scores {
fmt.Printf("%s: %d\n", name, score)
}range على سلسلة نصية
يمنحك التكرار على سلسلة نصية قيم rune، أي نقاط ترميز Unicode، وليس وحدات البايت:
for i, r := range "Go!" {
fmt.Printf("index %d: %c\n", i, r)
}range على قناة
يقرأ التكرار على قناة القيم حتى إغلاق القناة:
ch := make(chan int, 3)
ch <- 1; ch <- 2; ch <- 3
close(ch)
for v := range ch {
fmt.Println(v)
}break وcontinue
تخرج break من الحلقة الداخلية، بينما تنتقل continue إلى التكرار التالي:
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue // skip even numbers
}
if i > 7 {
break // stop at 7
}
fmt.Println(i)
}break مع تسمية
تتيح التسميات الخروج من حلقة خارجية من داخل حلقة داخلية:
outer:
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
if i+j == 3 {
break outer
}
}
}تحقق سريع
كيف تكتب حلقة لا نهائية في Go؟
مراجعة: حلقة for
تغطي حلقة for في Go جميع أنماط التكرار:
- التقليدي:
for i := 0; i < n; i++ - بأسلوب while:
for condition - اللانهائي:
for {} - باستخدام range: على الشرائح والخرائط والسلاسل النصية والقنوات
- استخدام
break/continueمع تسميات اختيارية للحلقات المتداخلة
التالي: عبارات switch في Go.
الأسئلة الشائعة
هل درس «حلقة for: جميع الأنماط» مجاني؟
نعم — نص درس «حلقة for: جميع الأنماط» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Go Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Go Academy 4 دروس في المجموع.
ماذا ستتعلم في «حلقة for: جميع الأنماط»؟
حلقات النمط التقليدي، ونمط while، واللانهائية، وrange تتمرن على Go Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Go Academy؟
لا تُشترط خبرة سابقة. Go Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «حلقة for: جميع الأنماط»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Go Academy هذا؟
نعم. كل درس في Go Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- عبارات if وتعبيرات التهيئة
- حلقة for: جميع الأنماط
- عبارات switch في Go
- break وcontinue والتسميات