/آموزش ساخت حلقه در زبان دارت Dart
ساخت حلقه در زبان دارت

آموزش ساخت حلقه در زبان دارت Dart

فرض کنید نیاز داریم اسم ۱۰ تا کاربر و دریافت و ذخیره کنیم, به نظر شما چیکار میکنیم؟ اولین کاری که به ذهن یک شخص تازه وارد در برنامه میرسد نوشتن کد دریافت اطلاعات از کاربر به تعداد ۱۰ بار می باشد. خب اگر ما نیاز داشته باشیم اسم ۵۰ نفر و دریافت کنیم چی؟ آیا باید ۵۰ بار یک کد و تکرار کنیم؟ طبیعتا منطقی نیست به هیچ وجه.

در این زمان ما از مفهومی به نام حلقه (Loop) استفاده می کنیم. حلقه ها کارهای تکراری که ما نیاز داریم و انجام می دهند و کافیست فقط یک بار کدی که نیاز دارید و بنویسید و بعد از آن همه چیز و به حلقه ها بسپارید تا انجام دهند.

ساخت حلقه در زبان دارت

انواع حلقه

  • While
  • Do While
  • For

برای شروع با هم نحوه ایجاد حلقه While را بررسی می کنیم.

var b=5;
while(b>0){
    print('Hi');
    b--;
    
}

برای ساخت حلقه از کلمه کلیدی While استفاده می کنیم. برای حلقه هایی که ایجاد می کنیم باید حتما یک شرط توقف قرار دهیم در غیر اینصورت تا بی نهایت کد های ما اجرا می شوند. داخل پرانتز نوشته ایم که حلقه تا زمانی ادامه داشته باشد که متغیر b از عدد صفر بزرگتر باشد.

متغیر b در ابتدا مقدار ۵ را دارد با هربار اجرا شدن while یک عدد از b کم می شود تا زمانی که مقدار آن به ۰ می رسد و دیگه چون شرط برقرار نیست وارد بلوک while برنامه نمی شود پس یعنی عبارت Hi پنج بار به کاربر نمایش داده می شود.

اما بریم سراغ Do While

var b=5;
Do(){
    print('Hi');
    b--;
    
}while(b>0)

مثال قبلی را با do while پیاده سازی کردیم در این روش برنامه ابتدا کدهای ما که در بلوکdo نوشته شده اند را انجام می دهد و سپس شرط توقف را بررسی می کند. یعنی do while همیشه یک بار بیشتر از while اجرا می شود پس کد بالایی که نوشتیم به کاربر ۶ بار پیغام Hi را نمایش می دهد.

روش آخر که بیشتر استفاده می شود حلقه For هست.

for(var i=0;i<5;i++){
    print('Hi')
}

در For ابتدا داخل پرانتز یک متغیر به نام i با مقدار صفر تعریف کردیم سپس بعد از سمی کالن ; شرط توقف را نوشته ایم که گفته ایم تا زمانی حلقه ادامه داشته باشد که i از عدد ۵ کوچک تر باشد و دوباره بعد از سمی کالن گفته ایم بعد از هربار اجرا شدن حلقه یک واحد به i اضافه شود. طبیعتا کد بالا ۵ مرتبه پیغام Hi و به کاربر نمایش می دهد.