با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
با جلسه ای دیگر از سری جلسات دوره آموزش زبان برنامه نویسی دارت Dart در خدمت شما هستیم.
در این جلسه قصد داریم به آموزش توابع در زبان دارت Dart و تعریف تابع در زبان دارت بپردازیم.
تابع Function در واقع قطعه کدی است که برای هدف خاصی استفاده میشود و میتواند به دفعات در برنامه استفاده میشوند و از تکرار کد جلوگیری میکنند.
به دلیل این که تابع ها به صورت ماژول و بلوک های کد جداگانه هستند، استفاده از آن ها باعث اشکال زدایی و نگهداری راحت تر برنامه میشود.
برای تعریف تابع، ابتدا نوع داده برگشتی تابع و سپس نام تابع به همراه پرانتز را مینویسیم. بعد از آن بدنه تابع را با {} مشخص میکنیم.
گرامر:
1 2 3 4 | return_type function_name() { //دستورات return value; } |
اگر تابع هیچ مقداری را برنمیگرداند، از کلمه کلیدی void به جای نوع برگشتی استفاده میکنیم و دستور return را نمینویسیم.
مثال:
1 2 3 4 5 6 | void main() { print(test()); } String test() { return "hello world"; } |
خروجی:
1 | hello world |
در مثال بالا دو تابع تعریف کردیم، test و main.
تابع main هیچ مقداری را برنمیگرداند و تابع test نیز یک مقدار از نوع String برمیگرداند.
برای فراخوانی و استفاده از یک تابع، کافیست تا نام آن تابع را همراه با پرانتز بیاورید.
1 | function_name() |
در مثال بالا دو تابع را در تابع main فراخوانی کرده ایم. تابع print و test به عنوان پارامتر تابع print.
با استفاده از پارامتر ها میتوانیم مقادیر را به تابع ارسال کنیم.
پارامتر ها بین پرانتز های تابع تعریف میشوند.
گرامر تعریف پارامتر:
1 2 3 | Function_name(data_type param_1, data_type param_2,[…]) { //statements } |
مثال:
1 2 3 4 5 6 7 | void main() { test_param(123,"this is a string"); } test_param(int n1,String s1) { print(n1); print(s1); } |
خروجی:
1 2 | 123 this is a string |
پارامتر های اختیاری را میتوان به دو صورت تعریف کرد:
پارامتر های نام گذاری شده داخل {} تعریف میشوند و هنگام فراخوانی تابع و استفاده از آن ها باید از نام پارامتر نیز استفاده کنیم.
مثال:
1 2 3 4 5 6 7 8 9 | void main() { test_param(123); test_param(123,s1:'hello'); test_param(123,s2:'hello',s1:'world'); } test_param(n1,{s1,s2}) { print(n1); print(s1); } |
خروجی:
1 2 3 4 5 6 | 123 null 123 hello 123 world |
پارامتر های موقعیتی نیز داخل [] تعریف میشوند.
مثال:
1 2 3 4 5 6 7 | void main() { test_param(123); } test_param(n1,[s1]) { print(n1); print(s1); } |
خروجی:
1 2 | 123 null |
با استفاده از عملگر = در هنگام تعریف پارامتر های اختیاری میتوانیم به آن ها مقدار پیشفرض دهیم.
1 2 3 | void enableFlags({bool bold = false, bool hidden = false}) {...} enableFlags(bold: true); |
جلسه آموزش توابع در زبان دارت و تعریف تابع در زبان دارت نیز به پایان رسید.
در جلسه بعد به آموزش کلاس ها در زبان دارت خواهیم پرداخت.