پرش به محتوا

آموزش Typedef در زبان دارت

    Typedef یکی از مهم‌ترین ویژگی‌های زبان دارت است که به شما این امکان را می‌دهد که یک نام جدید برای یک نوع داده‌ای تعریف کنید. این نام جدید می‌تواند برای ایجاد شیء‌هایی از نوع داده‌ای مورد نظر، استفاده شود. این ویژگی به شما این امکان را می‌دهد که کد خود را قابل فهم‌تر و خوانا‌تر کنید.

    برای استفاده از Typedef در دارت، شما می‌توانید از کلمه کلیدی typedef استفاده کنید. دستور typedef یک نام جدید برای یک نوع داده‌ای موجود تعریف می‌کند. برای مثال، در زیر، یک typedef برای نوع int تعریف شده است:

    typedef int MyInt;
    
    

    در مثال بالا نام جدید MyInt برای نوع int تعریف شده است. حالا می‌توانیم از MyInt برای تعریف متغیرها و پارامترها استفاده کنیم. به عنوان مثال:

    MyInt x = 10;
    void foo(MyInt a) { ... }
    
    

    در دارت شما می‌توانید همه‌ی نوع‌های داده‌ای را با typedef تعریف کنید، از جمله اعداد صحیح، اعداد اعشاری، رشته‌ها و آرایه‌ها. به طور مشابه، می‌توانید typedef برای تعریف نوع داده‌ای ساختاری (Struct) نیز استفاده کنید.

    برای مثال، در ادامه یک typedef برای ساختار Person تعریف شده است:

    typedef struct {
      String name;
      int age;
    } Person;
    
    

    حالا می‌توانیم از نام جدید Person برای تعریف متغیرها و پارامترها از نوع ساختار Person استفاده کنیم. به عنوان مثال:

    Person p = Person(name: "Erfan", age: 30);
    void printPerson(Person p) { ... }
    
    

    در اینجا، متغیر p و پارامتر p vh نیاز دارید که به دلایل مختلف از نوع داده‌ای قبلی به نام جدید دیگری استفاده کنید، می‌توانید typedef را به شکل زیر استفاده کنید:

    typedef OldType NewType;
    
    

    در مثال قبل نام جدید NewType به نوع داده‌ای موجود OldType تعریف می‌شود.

    شما می‌توانید typedef را برای تعریف یک تابع نیز استفاده کنید. به طور معمول، نام یک تابع به عنوان یک اشاره‌گر به تابع استفاده می‌شود، اما با استفاده از typedef می‌توانید یک نام جدید برای این اشاره‌گر تعریف کنید. به طور مثال، در زیر، یک typedef برای اشاره‌گر به تابع تعریف شده است:

    typedef void FunctionType(int a, int b);
    
    

    حالا می‌توانیم از نام جدید FunctionType برای تعریف اشاره‌گر به تابع استفاده کنیم. به عنوان مثال:

    FunctionType myFunc = (int a, int b) { ... };
    
    

    در مثال بالا متغیر myFunc یک اشاره‌گر به یک تابع از نوع FunctionType است.

    بنابراین، typedef یک ویژگی مفید در دارت است که به شما این امکان را می‌دهد که نام جدیدی برای نوع داده‌ای موجود تعریف کنید و از آن برای تعریف متغیرها و پارامترها استفاده کنید. همچنین، شما می‌توانید typedef را برای تعریف یک ساختار (Struct) یا یک اشاره‌گر به تابع نیز استفاده کنید.

    به عنوان یک مثال دیگر، فرض کنید که شما می‌خواهید با استفاده از داده‌ساختار List دارت، یک نوع داده‌ای جدید به نام NameList تعریف کنید. NameList شامل لیستی از رشته‌هایی است که نام چندین شخص را نگه می‌دارد.

    ابتدا، باید داده‌ ساختار List را ایمپورت کنید:

    import 'dart:core';
    
    

    حالا می‌توانید typedef را برای تعریف نوع داده‌ای NameList استفاده کنید:

    typedef NameList = List<String>;
    
    

    در مثال بالا نام جدید NameList به List<String> تعریف شده است. به این معنی که NameList یک نوع داده‌ای جدید است که مشابه List<String> است. این به معنی این است که شما می‌توانید هر عملیاتی را که بر روی List<String> قابل انجام است، روی NameList نیز انجام دهید.

    حالا، می‌توانید از نوع داده‌ای NameList برای تعریف متغیرها استفاده کنید. به عنوان مثال:

    NameList names = ['ٍErfan', 'Reza', 'Sara'];
    
    

    در مثال بالا names یک متغیر از نوع داده‌ای NameList است که سه نام را در خود ذخیره می‌کند.

    بنابراین با استفاده از typedef می‌توانید نوع داده‌ای جدیدی را با استفاده از نوع داده‌ای موجود تعریف کنید و از آن برای تعریف متغیرها و پارامترها استفاده کنید. این کار به شما کمک می‌کند که کد خود را خواناتر و قابل فهم‌تر کنید.

    5/5 - ( 1 امتیاز )

    دیدگاه شما نگاه ما رو عوض میکنه !

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    پشتیبانی آنلاین