در زبان برنامهنویسی دارت، کلمه کلیدی keywords
بهمنظور تعریف آرگومانهایی که مقدار دهی به آنها به صورت اختیاری استفاده میشوند، به کار میرود. در ادامه به معرفی برخی از آرگومانهای کلمه کلیدی در توابع در دارت میپردازیم:
required
: با استفاده از این آرگومان، میتوانید تعیین کنید که آیا یک پارامتر باید حتما به تابع ارسال شود یا خیر. اگر از این آرگومان استفاده نکنید، پارامترهای تابع به صورت اختیاری خواهند بود.default
: با استفاده از این آرگومان، میتوانید یک مقدار پیشفرض برای پارامترهای تابع تعیین کنید. در صورتی که مقداری برای پارامتر ورودی تعیین نشده باشد، مقدار پیشفرض برای آن استفاده خواهد شد.named
: با استفاده از این آرگومان، میتوانید پارامترهای تابع را به صورت نامدار ارسال کنید. به این ترتیب، نیازی به رعایت ترتیب پارامترها ندارید.positional
: با استفاده از این آرگومان، میتوانید پارامترهای تابع را به صورت موقعیتی ارسال کنید. به این ترتیب، ترتیب پارامترها بسیار مهم است.rest
: با استفاده از این آرگومان، میتوانید تعداد نامحدودی پارامتر را به تابع ارسال کنید. به عبارت دیگر، میتوانید تعداد نامشخصی از پارامترها را به تابع ارسال کنید.requiredNamed
: با استفاده از این آرگومان، میتوانید تعیین کنید که پارامترهایی که به صورت نامدار به تابع ارسال میشوندrequiredPositional
: با استفاده از این آرگومان، میتوانید تعیین کنید که پارامترهایی که به صورت موقعیتی به تابع ارسال میشوند، باید حتما به تابع ارسال شوند و در غیر اینصورت یک خطا به وجود خواهد آمد.optionalType
: با استفاده از این آرگومان، میتوانید یک نوع پیشفرض برای پارامترهای اختیاری تعیین کنید. به این ترتیب، اگر مقداری برای پارامتر ورودی تعیین نشده باشد، نوع پیشفرض برای آن پارامتر استفاده خواهد شد.optionalDefault
: با استفاده از این آرگومان، میتوانید یک مقدار پیشفرض برای پارامترهای اختیاری تعیین کنید. در صورتی که مقداری برای پارامتر ورودی تعیین نشده باشد، مقدار پیشفرض برای آن پارامتر استفاده خواهد شد.- با استفاده از این آرگومانها، میتوانید توابعی را تعریف کنید که بتوانید پارامترهای ورودی را با راحتی بیشتری از آنها پردازش کنید.
named
: با استفاده از این آرگومان، میتوانید پارامترهای ورودی را به صورت نامدار به تابع ارسال کنید. در این صورت، نام پارامتر و مقدار آن درون یک شیء قرار میگیرد که میتوان آن را به تابع ارسال کرد. به این ترتیب، نیازی به توجه به ترتیب پارامترها نیست و میتوانید به راحتی با یک شیء، تمام پارامترهای مورد نیاز را به تابع ارسال کنید.positional
: با استفاده از این آرگومان، میتوانید پارامترهای ورودی را به صورت موقعیتی به تابع ارسال کنید. به این ترتیب، نیازی به نامگذاری پارامترها نیست و ترتیب پارامترها برای تابع حائز اهمیت است.defaultValue
: با استفاده از این آرگومان، میتوانید مقدار پیشفرضی برای یک پارامتر ورودی تعیین کنید. در صورتی که پارامتری به تابع ارسال نشود، مقدار پیشفرضی برای آن پارامتر استفاده خواهد شد.required
: با استفاده از این آرگومان، میتوانید تعیین کنید که یک پارامتر ورودی باید حتما به تابع ارسال شود و در غیر اینصورت یک خطا به وجود خواهد آمد.namedOptional
: با استفاده از این آرگومان، میتوانید یک پارامتر ورودی را به صورت نامدار و اختیاری به تابع ارسال کنید. در صورتی که مقداری برای این پارامتر ورودی تعیین نشده باشد، مقدار پیشفرضی برای آن پارامتر استفاده خواهد شد.nullOk
: با استفاده از این آرگومان، میتوانید تعیین کنید که آیا مقدارnull
میتواند به عنوان مقدار یک پارامتر ورودی به تابع ارسال شود یا خیر.onError
: با استفاده از این آرگومان، میتوانید یک تابع را به عنوان تابع خطا در نظر بگیرید و در صورت بروز خطا در تابع، این تابع خطا فراخوانی شود.skip
: با استفاده از این آرگومان، میتوانید پارامترهایی را که نیازی به آنها ندارید، از میان پارامترهای ورودی تابع حذف کنید.hide
: با استفاده از این آرگومان، میتوانید یک پارامتر ورودی را از فهرست پارامترهای قابل مشاهده در توابع مخفی کنید.requiredNamed
: با استفاده از این آرگومان، میتوانید تعیین کنید که یک پارامتر ورودی به صورت نامدار باید حتما به تابع ارسال شود و در غیر اینصورت یک خطا به وجود خواهد آمد.- در کل، استفاده از آرگومانهای کلمه کلیدی در توابع در زبان Dart به شما اجازه میدهد تا پارامترهای ورودی توابع را با دقت و دقت بیشتری تعیین کنید و به راحتی مشخص کنید که هر پارامتر چه نقشی در تابع دارد و چگونه باید استفاده شود.
مثال استفاده شده در ادامه به این شکل است:
void main() {
printFullName(firstName: 'Erfan', lastName: 'Sadi');
}
void printFullName({required String firstName, required String lastName, int age = 30}) {
print('Full name: $firstName $lastName, Age: $age');
}
در این مثال تابع printFullName
با استفاده از آرگومانهای کلمه کلیدی تعریف شده است. پارامتر firstName
و lastName
اجباری هستند و باید هر دو به تابع ارسال شوند. اما پارامتر age
اختیاری است و در صورت ارسال نشدن، مقدار پیشفرض 30 را به عنوان سن فرض خواهد کرد.
اگر فقط پارامتر firstName
و lastName
به تابع ارسال شود، یعنی به شکل زیر باشد:
printFullName(firstName: 'Erfan', lastName: 'Sadi');
خروجی به صورت زیر خواهد بود:
Full name: Erfan Sadi, Age: 30
با استفاده از آرگومانهای کلمه کلیدی در توابع در زبان Dart شما میتوانید توابعی با پارامترهای ورودی متفاوت با انواع و تعدادهای مختلف ایجاد کنید. به این صورت، شما میتوانید کد خود را بسیار قابل فهم کنید.