پرش به محتوا

تفاوت بین Print و Return در تابع در دارت

    تفاوت بین دستور print و return در توابع در دارت به شرح زیر است:

    print: این دستور برای نمایش خروجی به کاربر استفاده می شود. به عبارت دیگر، وقتی شما از دستور print استفاده می کنید، مقدار یک عبارت را در خروجی چاپ می کنید. با این حال، دستور print مقداری را در قالب یک رشته چاپ می کند و برای استفاده در بخش های دیگر برنامه، مقدار خروجی را بر نمی گرداند.

    return: این دستور برای برگرداندن مقداری از یک تابع به بخش های دیگر از برنامه استفاده می شود. به عبارت دیگر، وقتی شما از دستور return استفاده می کنید، مقدار یک عبارت را به بخشی از برنامه که تابع را صدا می زند، بر می گردانید. این مقدار می تواند یک مقدار عددی، رشته ای، بولین، لیست، دیکشنری و ... باشد.

    برای مثال، فرض کنید که شما یک تابع به نام add_numbers ایجاد کرده اید که دو عدد را به عنوان ورودی می گیرد و جمع آن ها را با استفاده از دستور return برمی گرداند. با این کار، شما می توانید این مقدار را در بخش های دیگر از برنامه استفاده کنید و به جای چاپ آن با دستور print، از آن برای محاسبه یا استفاده در بخش های دیگر برنامه استفاده کنید.

    int add_numbers(int a, int b) {
      return a + b;
    }
    
    void main() {
      int result = add_numbers(2, 3);
      print(result); // 5
    }
    
    

    در این مثال، تابع add_numbers دو عدد را جمع می کند و مقدار حاصل را با استفاده از دستور return برمی گرداند. سپس، مقدار برگشتی تابع در متغیر result ذخیره میشود

    در ادامه می توانید یک مثال دیگر را برای بررسی تفاوت بین print و return در دارت ببینید:

    // تابع add_numbers با استفاده از دستور print
    void add_numbers(int a, int b) {
      print(a + b);
    }
    
    void main() {
      add_numbers(2, 3); // خروجی: 5
      int result = add_numbers(4, 5); // خروجی: 9
      print(result); // خروجی: null
    }
    
    

    در این مثال، تابع add_numbers دو عدد را جمع کرده و مقدار حاصل را با استفاده از دستور print چاپ می کند. در بخش main، ابتدا add_numbers با ورودی 2 و 3 فراخوانی می شود و خروجی آن به صورت 5 نمایش داده می شود. در خط بعد، تابع add_numbers با ورودی 4 و 5 فراخوانی می شود و مقدار برگشتی آن در متغیر result ذخیره می شود. اما برای چاپ مقدار result، به دلیل استفاده از دستور print در تابع add_numbers، خروجی تابع add_numbers هیچ مقداری را به result بر نمی گرداند و مقدار null در خروجی چاپ می شود.

    بنابراین، برای استفاده از مقدار برگشتی یک تابع در بخش های دیگر از برنامه، بهتر است از دستور return استفاده کنید. در مقابل، دستور print برای نمایش خروجی به کاربر مفید است.

    هر تابعی که مقدار برگشتی نداشته باشد، به صورت پیش‌فرض مقدار null را برمی‌گرداند. بنابراین، در صورت استفاده از دستور print در تابع و نداشتن دستور return، مقدار null به صورت پیش‌فرض برگشت داده می‌شود.

    به عنوان مثال، فرض کنید که می‌خواهیم یک تابع ساده بنویسیم که یک رشته را به صورت وارونه چاپ کند. می‌توانیم از دستور print برای چاپ رشته استفاده کنیم، اما به دلیل این که نیازی به مقدار برگشتی نداریم، می‌توانیم از دستور void برای مشخص کردن این موضوع استفاده کنیم.

    // تابع برای چاپ وارونه یک رشته
    void print_reverse_string(String str) {
      for (int i = str.length - 1; i >= 0; i--) {
        print(str[i]);
      }
    }
    
    void main() {
      print_reverse_string("Hello World!"); // خروجی: !dlroW olleH
    }
    
    

    در این مثال، تابع print_reverse_string یک رشته را به صورت وارونه چاپ می‌کند. هیچ مقداری برای این تابع برگشت داده نمی‌شود، بنابراین از دستور void برای مشخص کردن این موضوع استفاده شده است.

    با استفاده از این مثال، تفاوت بین print و return در دارت به وضوح مشخص می‌شود. دستور print برای چاپ خروجی در کنسول به کار می‌رود و هیچ مقداری برای استفاده در بخش‌های دیگر برنامه برنمی‌گرداند. به عبارت دیگر، دستور print فقط یک عملیات صفر و یا بیشتر بر روی داده‌های ورودی انجام می‌دهد. در مقابل، دستور return به منظور برگشت دادن مقدار به بخش‌های دیگر برنامه است

    برای مثال، فرض کنید می‌خواهیم یک تابع ساده بنویسیم که مجموع دو عدد را برگرداند. در این حالت، از دستور return برای برگشت مقدار مجموع دو عدد استفاده می‌کنیم.

    // تابع برای محاسبه مجموع دو عدد
    int sum(int num1, int num2) {
      return num1 + num2;
    }
    
    void main() {
      int result = sum(5, 3);
      print(result); // خروجی: 8
    }
    
    

    در این مثال، تابع sum دو عدد را به عنوان ورودی دریافت می‌کند و مجموع آن‌ها را به عنوان خروجی با استفاده از دستور return برمی‌گرداند. در بخش main، مقدار بازگشتی تابع sum در متغیر result ذخیره می‌شود و با استفاده از دستور print نمایش داده می‌شود.

    با استفاده از این مثال‌ها، می‌توان تفاوت بین print و return در دارت را به خوبی درک کرد. در کلیت، دستور print برای چاپ خروجی در کنسول استفاده می‌شود و دستور return برای برگشت دادن مقدار به بخش‌های دیگر برنامه استفاده می‌شود. با توجه به نیاز برنامه، می‌توانید از هر یک از این دو دستور به طور مناسب استفاده کنید.

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

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

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

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