این مفهوم از مهمترین مفهوم های پایه ای در برنامه نویسی ست … جهان برنامه نویسی پر از کارهاییست که باید بارها و بارها انجام بشن مثلا یه لیست عدد رو در نظر بگیریم که میخوایم همه رو با هم جمع کنیم اگه این اعداد ۱۰ تا باشن ما عمل جمع رو که یک کار تکراری هست باید ۹ بار انجام بدیم . در کدنویسی ما این عمل رو یک بار می نویسیم و ۹ بار باز استفاده میکنیم . این روندی رو تا آخر رفتن و به اول برگشتن شبیه یک دایره نیست ؟ تصویر بالا گویای این رونده
List := {1,2,3,4,5,6}
sum := 0
for i:=0; i<= len(List);i++ {
sum = sum + List[i]
}
return sum
در اسنیپت بالا(ما به قطعه کد میگیم snipet) که حدودا یه شبه کده (وقتی یه کدی تمام ضوابط سینتکس زبانی رو مراعات نمیکنه -سینتکس هم یعنی گرامر زبان- وفقط منطق رو هدف قرار داده میگیم شبه کده . شبه کدها خیلی کلی ترند حتی) ما اومدیم حرفایی که بالا زدیم رو به زبان go نوشتیم
یه لیست اینتجر داریم که چند تا عدد رو در خودش داره .. یه sum تعریف کردیم که یک متغیره و ایتنجر میگیره ..و یه ظرفیه که قراره نتیجه ی جمعو بریزیم توش حلقه ی فور یه ایندکس داره که اینجا 0=:i هست این ایندکس روی اعضای لیست ما حرکت میکنه و با رسیدن به هرعضو اون عضو عضو ایندکسم ما میشه یعنی i ام .. یه شرط برای حلقه میذاریم که میگه این حلقه تا کی باید بچرخه اینجا هست Lists) len=> i)
دوتا دستور مهم در حلقه ی فور وجود داره یکی break که هرجا بنویسم از همونجا حلقه قطع میشه و شکسته میشه و دیگری continue که هرکجا بنویسم برنامه از اون مرحله به اول حلقه برمیگرده
مثلا
for i:=1; i<=100; i++ {
if i <= 50 { continue }
break
}
در اینجا حلقه تا به پنجاه میرسد پس از برقراری شرطی که گذاشتم بر میگرده ولی به ۵۱ که رسید حلقه رو میشکنه :)