برای طرح سوال و دسترسی به آموزش ها سورس کدهای بیشتر به مجموعه xstack و یا به کانال ما در تلگرام کانال ما در تلگرام بپویندید.

آموزش دارت: انواع شرط در زبان دارت , if , switch – case

به نام دانای بر حق

مقدمه

در این سری آموزش ها قصد داریم syntax زبان برنامه نویسی دارت Dart را با هم یاد بگیریم، برای دنبال کردن سری کلی این آموزش ها و دیدن قست ها اینجا کلیک کنید.

دارت زبان برنامه نویسی flutter می باشد برای نوشتن برنامه های native یعنی با کد محلی برای android و ios هم زمان با طراحی متریالز.

 

if و else در زبان دارت ۲

فلوچارت زیر نحوه ی عملکرد عبارت if-else را نشان میدهد.

if chart in dart

انواع if نوع if در دارت:

  • عبارت if
  • عبارت if…else
  • عبارت …if…else if

عبارت if در زبان دارت

عبارت if اساسی ترین عبارت کنترلی است که به دارت اجازه میدهد تصمیم بگیرد و دستوری را براساس شروطی اجرا کند.
قاعده ی نوشتاری عبارت if به شکلی است که در زیر آمده است :

if (expression){
   Statement(s) to be executed if expression is true
}

 

ر اینجا یک عبارت دارت ارزیابی میشود. اگر مقدار نتیجه برابر با true باشد، دستورات داخل بدنه ی if اجرا میشوند. اگر مقدار نتیجه برابر false باشد، هیچ دستوری اجرا نمیشود. در بیشتر مواقع شما از عملگر های مقایسه ای در هنگام تصمیم گیری استفاده میکنید.

عبارت if…else در زبان دارت

عبارت ‘if…else’ شکل بعدی از عبارت کنترلی if است که به دارت اجازه اجرای دستورات را به طریق کنترل شده تری میدهد.
قاعده ی نوشتاری عبارت if…else به شکلی است که در زیر آمده است :

if (expression){
   Statement(s) to be executed if expression is true
}

else{
   Statement(s) to be executed if expression is false
}

اگر مقدار نتیجه برابر با true باشد، دستورات آورده شده در بدنه ی عبارت if اجرا میشوند. اگر نتیجه false باشد، دستورات آورده شده در بدنه ی عبارت else اجرا میشوند.

 

عبارت …if…else if در زبان dart 2

عبارت …if…else if شکل پیشرفته ای از عبارت if…else است که به دارت اجازه میدهد براساس چندین شرط تصمیم درست را اتخاذ کند.

قاعده ی نوشتاری عبارت …if…else if به شکلی است که در زیر آمده است :

if (expression 1){
   Statement(s) to be executed if expression 1 is true
}

else if (expression 2){
   Statement(s) to be executed if expression 2 is true
}

else if (expression 3){
   Statement(s) to be executed if expression 3 is true
}

else{
   Statement(s) to be executed if no expression is true
}

یز خاصی در مورد کد بالا وجود ندارد. نمونه کد بالا فقط یک سری عبارات if است که هر if قسمتی از عبارت else دستور قبلی است. دستورات براساس درست بودن شروط اجرا میشوند، اگر هیچکدام از شروط صحیح نباشد ، بلاک else اجرا میشود.

 

همانطور که میدانیم شروط از اساس برتامه نویسی هستند اما جای نگرانی نیست، چون شرط if در دارت مثل c , php , js می باشد به مثال زیر توجه کنید:

if (isRaining()) {
  you.bringRainCoat();
} else if (isSnowing()) {
  you.wearJacket();
} else {
  car.putTopDown();
}

همه چیز واضح است if , else , else if در کد های بالا مشخص هستند.

 

شرط های چندگانه Switch case در دارت

دارت

سویچ کیس در دارت میتواند از متغییر های int  و string پیشتبانی کند و به زمان کامپایل به صورت == در نظر گرفته میشود.

به دستورات زیر توجه کنید:

var command = 'OPEN';
switch (command) {
  case 'CLOSED':
    executeClosed();
    break;
  case 'PENDING':
    executePending();
    break;
  case 'APPROVED':
    executeApproved();
    break;
  case 'DENIED':
    executeDenied();
    break;
  case 'OPEN':
    executeOpen();
    break;
  default:
    executeUnknown();
}

مثل c , php , js  می باشد همه چیز واضح است. فراموش نکنیم که دستور بریک در هر جایی میتواند از ادامه switch جلوگیری کند.

var command = 'CLOSED';
switch (command) {
  case 'CLOSED': // Empty case falls through.
  case 'NOW_CLOSED':
    // Runs for both CLOSED and NOW_CLOSED.
    executeNowClosed();
    break;
}

و  دستور default در صورت برقرار نبودن تمامی شروط بالا اجرا میشود.

 

نکات:

  • شما میتوانید از && و || برای تکریب شروط استفاده کنید
  • شما میتوانید بی نهایت if تو در تو تولید کنید و بهره ببرید
  • سرعت سویچ کیس بیشتر از if های تو در تویی هست که مینویسیم
  • مقدار نهایی در قسمت () در if در نهایت باید یک مثدار true یا false باشد

 

به همین سادگی چیز جدید و پیشرفته ای نداشت و فک کنم از سایر بخش ها ساده تر بود.

اول از همه کوچک ترین عضو مجموعه 4xmen بنده حقیر هستم. در ثانی یک توسعه دهنده هستم زمینه های تخصصی کارم :‌ Delphi, PHP, C++ ,Python, JavaScript, Unity game engine, C#, asm و علاقه مند به لینوکس، RCE ، کریپتوگرافی هستم. تا الان حضرت حق اینا رو به ما داده و هر وقت که بخواد ازمون میگیره دست خودشه. یا حق، با حق، تا حق
نوشته ایجاد شد 96

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوشته های مرتبط

متنی که میخواهید برای جستجو وارد کرده و دکمه جستجو را فشار دهید. برای لغو دکمه ESC را فشار دهید.

بازگشت به بالا