پرش به محتوا

کاربرد late در زبان دارت

    Late در زبان دارت یک کلمه کلیدی است که برای اعلام تأخیر در اجرای یک تابع یا متد استفاده می شود. وقتی از کلمه کلیدی late قبل از یک پارامتر استفاده می شود، به این معنی است که مقدار آن پارامتر ممکن است به صورت دیرینه (late binding) تعیین شود، به این معنی که مقدار نهایی آن در زمان اجرای برنامه و با توجه به شرایط فعلی مشخص می شود.

    برای مثال در زبان دارت می توانید از late برای تأخیر در تعیین نوع یک متغیر استفاده کنید. به عنوان مثال، در کد زیر یک لیست از عناصر را به تابعی به نام printList ارسال می کنیم:

    void printList(List<String> list) {
      list.forEach(print);
    }
    
    void main() {
      late List<String> myList;
      myList = ['apple', 'banana', 'orange'];
      printList(myList);
    }
    
    

    myList به عنوان یک متغیر از نوع List<String> تعریف شده است، اما از late قبل از آن استفاده شده است. این بدان معنی است که مقدار نهایی myList تأخیر خواهد کرد و در زمان اجرای برنامه تعیین خواهد شد.

    استفاده از late می تواند در مواردی که می خواهید مقدار یک متغیر را در زمان اجرای برنامه مشخص کنید، مفید باشد. برای مثال، اگر می خواهید مقدار یک متغیر را بعد از دریافت ورودی از کاربر تعیین کنید، می توانید از late استفاده کنید تا اجازه دهید مقدار نهایی متغیر در زمان اجرای برنامه تعیین شود.

    در زبان دارت می توانید از late قبل از یک متغیر، یک پارامتر یا یک فیلد استفاده کنید. به عنوان مثال، می توانید از late قبل از یک فیلد در یک کلاس استفاده کنید تا بعد از ایجاد شیء از آن کلاس، مقدار آن فیلد را تعیین کنید.

    استفاده از late باید با دقت صورت بگیرد، زیرا اگر مقدار یک متغیر در زمان اجرای برنامه تعیین نشود، باعث خطا در برنامه می شود. به علاوه، استفاده از late ممکن است باعث کاهش قابلیت خوانایی و نگهداری کد شود، بنابراین باید به دقت و با توجه به شرایط استفاده شود.


    به عنوان مثال فرض کنید که شما می‌خواهید یک مقدار رشته‌ای را از کاربر دریافت کرده و سپس مقدار آن را در یک متغیر از نوع String ذخیره کنید، می‌توانید از late قبل از تعریف متغیر استفاده کنید تا مقدار آن در زمان اجرای برنامه تعیین شود.

    import 'dart:io';
    
    void main() {
      late String userInput;
      
      print('Please enter a string:');
      userInput = stdin.readLineSync()!;
      
      print('The string you entered is: $userInput');
    }
    
    

    در مثال قبل ابتدا متغیر userInput با استفاده از late تعریف شده است. سپس با استفاده از stdin.readLineSync()، مقداری که کاربر وارد می‌کند به عنوان یک رشته دریافت می‌شود و سپس در متغیر userInput ذخیره می‌شود. در انتها، مقدار userInput نمایش داده می‌شود.

    با استفاده از late امکان تعیین مقدار یک متغیر در زمان اجرای برنامه فراهم شده است، اما باید به دقت استفاده شود تا باعث به وجود آمدن خطاهای اجرایی نشود.

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

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

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

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