پرش به محتوا

آرگومان‌های پیش فرض در توابع دارت

    مطابق با مفهوم توابع در برنامه‌نویسی هر تابعی در Dart می‌تواند شامل آرگومان‌های پیش فرض باشد. این آرگومان‌های پیش فرض به معنی مقادیری هستند که به عنوان پارامترهای تابع در نظر گرفته می‌شوند و در صورتی که مقداری برای آن‌ها در صدا زدن تابع ارائه نشود، مقدار پیش‌فرض مورد نظر به عنوان آرگومان به کار می‌رود.

    در ادامه چند مثال از توابع با آرگومان‌های پیش فرض در Dart آمده است:

    ۱- مثال تابعی با یک آرگومان پیش فرض:

    void printName(String name, [int age = 0]) {
      print('Name: $name');
      print('Age: $age');
    }
    
    // فراخوانی تابع
    printName('Erfan', 25);
    printName('Reza');
    
    

    در مثال بالا تابع printName دو پارامتر به نام‌های name و age دارد. پارامتر age دارای مقدار پیش فرض صفر است. با فراخوانی تابع با یک آرگومان، مقدار آرگومان به پارامتر name اختصاص می‌یابد و مقدار پیش فرض برای پارامتر age بکار می‌رود. با فراخوانی تابع با دو آرگومان، مقدار اول به پارامتر name و مقدار دوم به پارامتر age اختصاص می‌یابد.

    ۲- مثال تابعی با چند آرگومان پیش فرض:

    void printNumbers(int a, int b, [int c = 0, int d = 0]) {
      print('a: $a');
      print('b: $b');
      print('c: $c');
      print('d: $d');
    }
    
    // فراخوانی تابع
    printNumbers(1, 2);
    printNumbers(3, 4, 5);
    printNumbers(6, 7, 8, 9);
    
    

    در این مثال، تابع printNumbers چهار پارامتر به نام‌های a، b، c و d دارد. پارامتر‌های c و `

    ۳- مثال تابعی با آرگومان‌های اختیاری با مقادیر پیش فرض:

    با فراخوانی تابع با دو آرگومان، مقدار اول به پارامتر a و مقدار دوم به پارامتر b اختصاص می‌یابد و مقادیر پیش فرض برای پارامتر‌های c و d بکار می‌رود. با فراخوانی تابع با سه آرگومان، مقدار اول به پارامتر a مقدار دوم به پارامتر b و مقدار سوم به پارامتر c اختصاص می‌یابد و مقدار پیش فرض برای پارامتر d بکار می‌رود. با فراخوانی تابع با چهار آرگومان مقدار اول به پارامتر a مقدار دوم به پارامتر b مقدار سوم به پارامتر c و مقدار چهارم به پارامتر d` اختصاص می‌یابد.

    void printColors(String color1, [String color2 = 'red', String color3 = 'blue']) {
      print('Color 1: $color1');
      print('Color 2: $color2');
      print('Color 3: $color3');
    }
    
    // فراخوانی تابع
    printColors('green');
    printColors('yellow', 'orange');
    printColors('purple', 'pink', 'brown');
    
    

    در مثال بالا تابع printColors سه پارامتر به نام‌های color1، color2 و color3 دارد. پارامتر color2 دارای مقدار پیش فرض "red" و پارامتر color3 دارای مقدار پیش فرض "blue" هستند.

    با فراخوانی تابع با یک آرگومان، مقدار آرگومان به پارامتر color1 اختصاص می‌یابد و مقادیر پیش فرض برای پارامتر‌های color2 و color3 بکار می‌رود.

    با فراخوانی تابع با دو آرگومان، مقدار اول به پارامتر color1 و مقدار دوم به پارامتر color2 اختصاص می‌یابد و مقدار پیش فرض برای پارامتر color3 بکار می‌رود.

    با فراخوانی تابع با سه آرگومان، مقدار اول به پارامتر color1، مقدار دوم به پارامتر color2 و مقدار سوم به پارامتر color3 اختصاص می‌یابد.

    ۴- مثال تابعی با آرگومان‌های اختیاری بدون مقدار پیش فرض:

    void printNumbers(int num1, [int num2, int num3]) {
      print('Number 1: $num1');
      print('Number 2: $num2');
      print('Number 3: $num3');
    }
    
    // فراخوانی تابع
    printNumbers(1);
    printNumbers(2, 3);
    printNumbers(4, 5, 6);
    
    

    در مثال بالا تابع printNumbers سه پارامتر به نام‌های num1، num2 و num3 دارد. هیچکدام از پارامتر‌ها دارای مقدار پیش فرض نیستند. با فراخوانی تابع با یک آرگومان، مقدار آرگومان به پارامتر num1 اختصاص می‌یابد و مقادیر null برای پارامتر‌های num2 و num3 بکار می‌رود. با فراخوانی تابع با دو آرگومان، مقدار اول به پارامتر num1 و مقدار دوم به پارامتر num2 اختصاص می‌یابد و مقدار null برای پارامتر num3 بکار می‌رود. با فراخوانی تابع با سه آرگومان، مقدار اول به پارامتر num1، مقدار دوم به پارامتر num2 و مقدار سوم به پارامتر num3 اختصاص می‌یابد.

    با استفاده از این نوع پارامتر‌ها، می‌توانید توابعی با پارامتر‌های اختیاری با مقادیر پیش فرض یا بدون مقادیر پیش فرض تعریف کنید و در صورت نیاز به استفاده از آن‌ها، آن‌ها را به صورت اختیاری و با مقادیر پیش فرض یا بدون مقادیر پیش فرض به تابع پاس بدهید.

    ۵- مثال تابعی با پارامتر متغیر:

    void printNumbers(var numbers) {
      for (var number in numbers) {
        print(number);
      }
    }
    
    // فراخوانی تابع
    var myNumbers = [1, 2, 3, 4, 5];
    printNumbers(myNumbers);
    
    

    در مثال بالا تابع printNumbers یک پارامتر به نام numbers دارد که به عنوان یک متغیر تعریف شده است. با فراخوانی تابع و پاس دادن یک لیست از اعداد به عنوان آرگومان، این لیست به عنوان مقدار پارامتر numbers به تابع پاس داده می‌شود. درون تابع، با استفاده از حلقه for-in، تمامی اعداد لیست چاپ می‌شوند.

    این نوع پارامتر برای توابعی که می‌توانند با ورود داده‌های مختلفی مانند لیست، رشته، اعداد و ... کار کنند، مناسب است.

    ۶- مثال تابعی با پارامترهای با نوع داده‌ی مشخص:

    int sumNumbers(int num1, int num2) {
      return num1 + num2;
    }
    
    // فراخوانی تابع
    var result = sumNumbers(2, 3);
    print(result);
    
    

    در مثال قبل تابع sumNumbers دو پارامتر به نام‌های num1 و num2 دارد که هر دو دارای نوع داده‌ای int هستند. با فراخوانی تابع با دو عدد 2 و 3 به عنوان آرگومان‌ها، این عددي که جمعشان برابر با 5 است، به عنوان مقدار بازگشتی تابع به متغیر result اختصاص داده شده است.

    این نوع پارامتر برای توابعی که داده‌های مشخصی به صورت ورودی می‌گیرند، مناسب است و می‌تواند به اشتباهات نوع داده‌ی ورودی در تابع کمک کند.

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

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

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

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