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

آموزش زبان دارت بخش دوم – متغییر ها، ثوابت و نکات کلیدی شروع

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

مقدمه

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

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

 

نکات کلیدی برای شروع دارت

  • تمامی متغییر ها در دارت شی هستند
  • متغییر نسبت دهی null می باشد و null خود نیز شی است
  • در انتهای هر می بایستی از ; استفاده نمایید.
  • اگرچه دارت حساس است روی نوع داده ها ولی شما رو مجبور تعریف دقیق آنها نمیکند به عنوان مثال number تعریف شود حتما نیاز نیست int تعریف شود.
  • در دارت list نوع داده برای ذخیره چندین متغییر با هم می باشد هماننده آرایه
  • بالاترین مرحله در تابع های main می باشد، همانند C
  • دارت از متغییر های سطح بالا مانند کلاس و … پشتیبانی میکند.
  • دارت شبیه جاوا نیست که ضروت داشته باشد کلید واژه های public, protected و private استفاده شود هر چیزی که با _ در توابه شروع شود داخلی و خصوصی محسوب میشود و در غیر این صورت عمومی و قابل استفاده در خارج از کلاس است.
  • متغییر تعریف کردن نام متغییر و توابع و کلاس ها در دارت شیوه اسم گذاری مانند C دارد متغییر ها و توابع  با _ و حروف شروع می‌شود و بعد از حرف اول میتوان از عداد نیز استفاده کرد.
  • ابزار Dart میتواند دو نوع مشکلی را گزارش کند: هشدارها و خطاها. هشدارها فقط نشانگر این نکته است که کد شما ممکن است کار نکند اما آنها از اجرای برنامه شما جلوگیری نمی کنند. خطاها می توانند زمان کامپایل یا زمان اجرا باشند. یک خطای کامپایل زمانی مانع اجرای کد در همه می شود.

 

dart logo
آموزش زبان برنامه نویسی دارت

 

کلمات کلیدی در دارت

abstract ۱ deferred ۱ if super
as ۱ do implements ۱ switch
assert dynamic ۱ import ۱ sync* ۲
async ۲ else in this
async* ۲ enum is throw
await ۲ export ۱ library ۱ true
break external ۱ new try
case extends null typedef ۱
catch factory ۱ operator ۱ var
class false part ۱ void
const final rethrow while
continue finally return with
covariant ۱ for set ۱ yield ۲
default get ۱ static ۱ yield* ۲

کلماتی که با ۲ نشانه گذاری شده اند جدید هستند و در دارت ۲ اضافه شدن و در همگام سازی کاربرد دارند.

تعریف متغییر در دارت

نحوه تعریف متغییر:

var name = '4xmen';

ابتدا نوع داده و سپس نام متغییر و سپس مساوی و و مقدار و در انتها ; قرار می‌گیرد.

دو مثال دیگر:

dynamic name = 'SadeghPM';
String name = 'AHA';

اما نوع داده:

var

نوع داده عمومی قابلت نسبت داده شدن به هر چیزی را داراست

مثال

var name = '4xmen';

 

int

عددی صحیح و دارای بازه ی -۲۶۳ تا ۲۶۳   منهی ۱ می‌باشد

مثال های تعریف:

int x = 1;
int hex = 0xDEADBEEF;

 

 double

برای نگهداری اعداد اعشاری در بازه ای ۶۴ بیتی بر اساس استندارد IEEE 754 است

مثال های تعریف:

uble y = 1.1;
double exponents = 1.42e5;

 

String

رشته حروف که UTF-16 می باشند

مثال های تعریف:

String s1 = 'Single quotes work well for string literals.';
String s2 = "Double quotes work just as well.";
String s3 = 'It\'s easy to escape the string delimiter.';
String s4 = "It's even easier to use the other delimiter.";

 

Boolean

نوع صحیح و غلطی می باشد دارای دو مقدار true , false هستند
این نوع داده حتی اگر مقدار دهی نشود null است
مثال های تعریف:

  boolean hasCurrency  = true;

 

list

آرایه های با اندیس عددی مثل آرایه در js

مثال های تعریف:

var list = [1, 2, 3];
list[1] = 45;
var xmenTeam = ['SadeghPM', "Lord_viper", 'AHA','A1Gard'];

 

map

آرایه های با اندیس عددی یا حروف مثل object در js

مثال های تعریف:

var gifts = {
  // Key:    Value
  'first': 'partridge',
  'second': 'turtledoves',
  'fifth': 'golden rings'
};

var nobleGases = {
  ۲: 'helium',
  ۱۰: 'neon',
  ۱۸: 'argon',
};

var gifts = new Map();
gifts['first'] = 'partridge';
gifts['second'] = 'turtledoves';
gifts['fifth'] = 'golden rings';

var nobleGases = new Map();
nobleGases[2] = 'helium';
nobleGases[10] = 'neon';
nobleGases[18] = 'argon';

 

Runes

رشته ای با نوع UTF-32 می باشد.

مثال های تعریف:

main() {
  var clapping = '\u{1f44f}';
  print(clapping);
  print(clapping.codeUnits);
  print(clapping.runes.toList());

  Runes input = new Runes(
      '\u2665  \u{1f605}  \u{1f60e}  \u{1f47b}  \u{1f596}  \u{1f44d}');
  print(new String.fromCharCodes(input));
}

ثابت ها در دارت

ثابت های مقادیری هستند که هرگز تغییر نمیکند در دارت ثابت ها با کلمات کلیدی const , final تعریف میشوند به مثال های زیر توجه کنید:

final name = 'Bob'; // Without a type annotation
// name = 'Alice';  // Uncommenting this causes an error
final String nickname = 'Bobby';
const bar = 1000000; // Unit of pressure (dynes/cm2)
const double atm = 1.01325 * bar; // Standard atmosphere

ابتدا کلمه کلیدی و پس نام ثابت و نهایت بعد از مساوی مقدار آن درج و سپس ; در انتها نوشته میشود.

نکته» تفاوت final و const این است که final فقط یک بار ست میشود و می بایستی دقیق مشخص باشد ولی const با این که یک بار ست میشود ولی در طول برنامه میشود مقدار آن را تعریف کرد به مثال های بالا توجه کنید.

 

نظرات

4 پاسخ به “آموزش زبان دارت بخش دوم – متغییر ها، ثوابت و نکات کلیدی شروع”
  1. adel

    تشکر از بابت آموزشاتون فقط من این دستور Runes رو متوجه نشدم کجاها کاربرد داره؟

    1. ‌A1Gard

      برای جاهایی که مثلا میخوای emoji استفاده کنی یا از کارکتر های خاص بیشتر از بازه utf8

  2. رامتین حیدررضایی

    فکر می کنم که تعریف const , final رو بر عکس بیان کردین .
    const در طول اجرا برنامه قابل تغییر نیست و compile time constant ولی final در run time constant یعنی در طول اجرا برنامه قابل تغییره مثلا (()Datetime.now) مقدارش موقع اجرای برنامه و در طول کد نویسی مشخص نیست و وقتی که برنامه اجرا میشه مقدار آن قابل لمسه

  3. رامتین حیدررضایی

    فکر می کنم که تعریف const , final رو بر عکس بیان کردین .
    const در طول اجرا برنامه قابل تغییر نیست و compile time constant ولی final یک run time constant هستش یعنی در طول اجرا برنامه قابل تغییره مثلا (()Datetime.now) مقدارش موقع اجرای برنامه و در طول کد نویسی مشخص نیست و وقتی که برنامه اجرا میشه مقدار آن قابل لمسه

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

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