درک متغیرها در DART – Dev Community

در این مقاله ، شما می خواهید دانش بسیار ساده ای و واضح در مورد آنچه متغیر در زبان برنامه نویسی DART دارد ، بدست آورید. من قول می دهم ، شما آن را دوست خواهید داشت.
متغیر چیست؟
در ساده ترین شکل خود ، یک متغیر ظرفی است که نوع خاصی از ارزش را نگه می دارد یا ذخیره می کند. به عنوان مثال رشته ، عدد صحیح ، بولی و غیره
این به معنای واقعی کلمه یک مقدار را ذخیره نمی کند ، اما مرجع آن مقدار را ذخیره می کند.
String firstName="john";
از قطعه کد فوق ، نام متغیر به نام “FirstName” حاوی یک اشاره به یک شیء رشته ای است که دارای مقدار “جان” است. در دارت ، همه چیز یک شی است.
DART همچنین در صورت مشخص شدن نوع می تواند نوع مقدار را استنباط کند. به عنوان مثال ؛
var firstName="john";
از قطعه فوق ، DART قادر است نوع متغیر مقدار را به عنوان رشته تشخیص دهد ، حتی اگر مشخص نشده باشد ، به این نوع استنتاج گفته می شود. دارت می تواند یک نوع متغیر را فقط در صورت اولیه استنباط کند.
اگر یک شی متغیر به یک نوع واحد محدود نشده باشد ، می توانید در صورت لزوم نوع را به عنوان شیء یا پویا مشخص کنید.
Object firstName="john";
dynamic age = 23;
ایمنی تهی
از آنجا که DART 2.12 ، ایمنی تهی برای جلوگیری از خطایی که منجر به دسترسی ناآگاهانه به متغیرهای تنظیم شده بر روی تهی می شود ، معرفی شد. این خطا به عنوان خطای dereference null شناخته می شود. این اتفاق می افتد که به ویژگی دسترسی پیدا کنید یا با روشی که به صورت تهی ارزیابی می کند ، با روشی تماس بگیرید.
شما می توانید با اضافه کردن “متغیر باید قابل تهی باشد؟” تا پایان اعلامیه نوع خود.
String? firstName; // This can either be null or of type String
String firstName; // Non-nullable, cannot be null but can be of type String
پرچم ایمنی تهی یک متغیر غیر تهی ؛
- هنگامی که با یک مقدار غیر تهی تنظیم نشده است
- هنگامی که به یک مقدار تهی اختصاص داده می شود
یک متغیر قابل برگشت به طور پیش فرض مقدار اولیه تهی را دارد ، اما برای یک متغیر غیر قابل تهی ، باید به آن یک مقدار غیر تهی اختصاص دهید.
توجه: شما نیازی به تنظیم یک متغیر محلی ندارید حتی اگر غیر تهی باشد ، اما باید قبل از استفاده از آن مقدار آن را اختصاص دهید.
متغیرهای دیررس
اگر مطمئن هستید که متغیر پس از اعلام آن و قبل از استفاده ، می توانید اصلاح کننده دیر هنگام را قبل از اعلام نوع اضافه کنید.
late String name;
void main(){
name="Chibuzor";
print(name);
}
از کد فوق ، از آنجا initState()
روش اولین روشی است که هنگام شروع ویجت اجرا می شود ، توصیه می شود تمام تنظیمات اولیه مورد نیاز ویجت را انجام دهید. این بهترین مکان برای اولیه سازی متغیر دیر هنگام قبل از استفاده است.
پایانی و ثابت
اگر قصد تغییر آن را ندارید ، متغیر یا “نهایی” یا “const” را اعلام کنید. نهایی باید در هنگام اطمینان از این که ارزش در ابتدای برنامه شما خواهد بود ، استفاده شود. به عنوان مثال ، هنگامی که می خواهید خصوصیات سازنده کلاس را تنظیم کنید ، تنظیم آنها به عنوان نهایی مناسب است زیرا شما مقدار دقیقی را که هنگام اجرای کد دریافت می کنید نمی دانید.
class User{
final String name;
User({required this.name});
void setName(){
print(name);
name="Kennedy"; // error: final variable can only be set once
}
}
محاصره کردن باید در صورت ثابت بودن مقدار متغیر مورد استفاده قرار گیرد ، به این معنی که مقدار دقیق شناخته شده است و در هر زمان در برنامه تغییر نخواهد کرد. متغیر const پس از اولیه سازی نمی تواند یک مقدار اختصاص یابد.
const String name="Chibuzor";
name="Kennedy"; // error: constant variables can't be assigned a value after initialization
مقدار یک متغیر “نهایی” در زمان اجرا شناخته شده است در حالی که در زمان کامپایل “const” است.
اگر قصد تغییر یک متغیر را دارید ، می توانید از '' استفاده کنیدماکلمه کلیدی قبل از نام متغیر. توجه داشته باشید ، شما نمی توانید “var” را در کنار یک نوع مشخص کنید.
var String name="Chibuzor"; // This won't work
var name="Chibuzor"; // This will work
name="Kennedy"; // This will work
لطفاً توجه داشته باشید – برای نوع داده مانند لیست ، اگر به عنوان نهایی مشخص شود ، می توان آن را اصلاح کرد اما مجدداً تنظیم نشود. اما اگر به عنوان const مشخص شود ، نه می تواند اصلاح شود و نه مجدداً منصوب شود.
final myList = [2, 4];
myList.add(6); // This will work
myList = [1, 7, 8]; // This won't work
const myList = [2, 4];
myList.add(6); // This won't work
myList = [1, 7, 8]; // This won't work
پایان
متغیر یک مؤلفه اصلی یک برنامه است. درک پویایی آن بسیار مهم است. امیدوارم که بتوانم هرگونه معضل را که به موضوع متغیرها وابسته است ، تغییر دهم.
برنامه نویسی مبارک>