با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
با جلسه ای دیگر از سری جلسات دوره آموزش زبان برنامه نویسی دارت Dart در خدمت شما هستیم.
در این جلسه قصد داریم به آموزش Typedef در زبان دارت Dart بپردازیم.
در زبان دارت، توابع نیز مانند هر چیز دیگر یک شئ (Object) است.
یک Typedef که function-type نیز نامیده میشود، نامی را به نوع یا شئ تابع شما میدهد که از آن میتوانید هنگام تعریف متغیر ها یا برگشت نوع ها استفاده کنید.
typedef، هنگامی که یک نوع تابع به یک متغیر اختصاص مییابد، اطلاعات نوع آن تابع را حفظ میکند.
به طور ساده، یک typedef میتواند به عنوان یک اشاره گر که یه یک تابع ارجاع میدهد(اشاره میکند)، استفاده شود.
یک typedef میتواند برای مشخص کردن نوع و امضای تابعی که قرار است توابع دیگری را به آن اختصاص دهیم، استفاده شود.
نوع یا امضای یک تابع با پارامتر های آن (تعداد و نوع داده ها) مشخص میشود.
گرامر تعریف typedef:
1 | typedef function_name(parameters) |
به صورت زیر میتوانید به نوع تابع تعریف شده(متغیر typedef)، یک تابع را اختصاص دهید:
1 | type_defined var_name = function_name |
برای استفاده و فراخوانی از این متغیر typedef نیز کافیست تا نام آن را همراه با پارامتر های لازم بیاورید.
1 | var_name(parameters) |
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | typedef ManyOperation(int firstNo , int secondNo); //function signature Add(int firstNo,int second){ print("Add result is ${firstNo+second}"); } Subtract(int firstNo,int second){ print("Subtract result is ${firstNo-second}"); } Divide(int firstNo,int second){ print("Divide result is ${firstNo/second}"); } Calculator(int a, int b, ManyOperation oper){ print("Inside calculator"); oper(a,b); } void main(){ ManyOperation oper = Add; oper(10,20); oper = Subtract; oper(30,20); oper = Divide; oper(50,5); } |
خروجی:
1 2 3 | Add result is 30 Subtract result is 10 Divide result is 10.0 |
در مثال بالا، ابتدا یک تابع typedef تعریف کرده ایم. این تابع دو متغیر از نوع int میگیرد.
در ادامه تعدادی تابع تعریف کرده ایم که قرار است آن ها را به تابع typedef اختصاص دهیم.
در تابع main نیز این توابع را به تابع typedef شده اختصاص میدهیم و ان را فراخوانی میکنیم.
جلسه آموزش typedef در زبان دارت نیز به پایان رسید.
در جلسه بعد به آموزش کتابخانه ها در زبان دارت خواهیم پرداخت.