در زبان دارت، enum
یک نوع داده است که به شما این امکان را میدهد که مجموعهای از مقادیر ثابت را تعریف کنید. این مقادیر معمولاً مرتبط با یک مفهوم خاص هستند و میتوانند به طور مرتب (مانند روزهای هفته) یا به صورت وضعیتهای مختلف یک سیستم تعریف شوند.
برای تعریف یک enum
در دارت، از کلمه کلیدی enum
استفاده میکنید. در زیر یک مثال ساده از تعریف و استفاده از enum
در دارت آورده شده است:
مثال:
enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }
void main() {
var today = Days.Monday;
switch (today) {
case Days.Monday:
print("Today is Monday");
break;
case Days.Tuesday:
print("Today is Tuesday");
break;
case Days.Wednesday:
print("Today is Wednesday");
break;
// سایر موارد
default:
print("It's the weekend!");
}
}
توضیحات:
- تعریف
enum
:enum Days { ... }
یک نوع دادهای به نامDays
تعریف میکند که شامل 7 مقدار ثابت است (یک برای هر روز هفته). - استفاده از
enum
: در کد بالا، ازDays.Monday
برای مقداردهی به متغیرtoday
استفاده شده است. - سوئیچ روی
enum
: میتوانیم با استفاده از دستورswitch
به بررسی مقادیر مختلفenum
بپردازیم.
ویژگیهای اضافی:
enum
در دارت نوعای است که مقادیر آن به صورت خودکار به ایندکسهای عددی از ۰ تا n-1 (جایی که n تعداد مقادیرenum
است) مرتب میشود.- در دارت میتوان از متدهایی مانند
index
برای دریافت ایندکس هر عنصرenum
استفاده کرد.
مثال استفاده از index
:
enum Days { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }
void main() {
var today = Days.Monday;
print("The index of today is: ${today.index}"); // خروجی: 1
}