52 lines
2.1 KiB
Markdown
52 lines
2.1 KiB
Markdown
---
|
|
title: Loops
|
|
localeTitle: الحلقات
|
|
---
|
|
# للحلقة في Go
|
|
|
|
الذهاب لديها سوى `for` حلقة. يحتوي الحلقة الأساسية `for` ثلاثة مكونات مفصولة `;` -
|
|
|
|
* العبارة **init** : تم تنفيذها قبل التكرار الأول
|
|
|
|
* تعبير **الشرط** : تم تقييمه قبل كل عملية تكرار
|
|
|
|
* بيان **المشاركة** : تم تنفيذه في نهاية كل تكرار
|
|
|
|
|
|
غالباً ما يكون عبارة **init** عبارة عن إعلان متغير قصير. أعلنت المتغيرات هناك تظهر فقط في نطاق `for` بيان. تتوقف الحلقة عن التكرار بمجرد تقييم الحالة المنطقية إلى false.
|
|
|
|
مثال على `for` وفيما يلي حلقة -
|
|
|
|
**for.go**
|
|
|
|
`package main
|
|
|
|
import "fmt"
|
|
|
|
func main() {
|
|
sum := 0
|
|
for i := 0; i <= 10; i++ {
|
|
sum += i
|
|
}
|
|
fmt.Println("The sum of first 10 natural numbers is", sum)
|
|
}
|
|
`
|
|
|
|
تشغيل البرنامج أعلاه ينتج مخرجات مشابهة للإخراج التالي - \`\` \`
|
|
تشغيل $ $ for.go مجموع أول 10 أرقام طبيعية هو 55
|
|
|
|
``You can use `continue` and `break` to adjust the loops flow
|
|
``
|
|
|
|
اذهب // هذا الرمز يطبع أي أرقام غريبة تصل إلى 5 ل: = 0 ؛ ن <= 10 ؛ ن + { إذا كان n٪ 2 == 0 { // إذا كان الرقم حتى يقفز إلى ن التالية استمر } fmt.Println (ن) // إذا كان الرقم هو 5 الخروج من الحلقة إذا كان n == 5 { استراحة } }
|
|
|
|
``If you want to create an infinite loop just use `for { }`
|
|
``
|
|
|
|
اذهب إلى عن على { // Whill loop حتى يفصل الشرط عن العروة كسر // الخروج من الحلقة }
|
|
|
|
`## Replacement for while-loop
|
|
To simulate while-loop of other languages, you can simply exclude the **init** and **post** statement:
|
|
`
|
|
|
|
اذهب func main () { الأسطوانات: = 1 لـ num <= 1000 { num \* = 2 } fmt.Println ("أصغر طاقة تبلغ 2 فوق 1000 هي" ، عدد) } \`\` \` |