By using this site, you agree to the Privacy Policy and Terms of Use.
موافق
عرب فلاترعرب فلاتر
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
قراءة: الدرس 18: شرح أنواع الدوال functions في لغة دارت (Dart)
شارك
تسجيل الدخول
إشعار أظهر المزيد
Aa
عرب فلاترعرب فلاتر
Aa
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
Search

أقسام الموقع

استكشف جميع أقسام الموقع
قسم Dart في موقع عرب فلاتر

Dart

59 مقالات
قسم Widgets في موقع عرب فلاتر

Widgets

104 مقالات
قسم Packages في موقع عرب فلاتر

Packages

19 مقالات
قسم Tutorials في موقع عرب فلاتر

Tutorials

22 مقالات

أخر المواضيع

استكشف أخر المواضيع المنشورة
شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
Tutorials

شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا

5
حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
Tutorials

حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر

10
أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
Tutorials

أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات

18
لديك حساب موجود؟ تسجيل الدخول
  • Dart
  • Widgets
  • Packages
  • Tutorials
  • Flutter Roadmap
  • تثبيت Dart
  • تثبيت Flutter
© جميع الحقوق محفوظة موقع عرب فلاتر 2023
عرب فلاتر > Dart > الدرس 18: شرح أنواع الدوال functions في لغة دارت (Dart)
Dart

الدرس 18: شرح أنواع الدوال functions في لغة دارت (Dart)

عبدالله يوسف
أخر تحديث 2024/11/15
بواسطة عبدالله يوسف اضف تعليق 6 دقيقة للقراءة 3822 مشاهدات 4 1
شارك
شرح أنواع الدوال functions في لغة دارت (Dart)
شرح أنواع الدوال functions في لغة دارت (Dart)
شارك

خدماتنا البرمجية – عرب فلاتر🚀

خدماتنا البرمجية – عرب فلاتر

تعتبر الدوال functions جزءًا أساسيًا في لغة برمجة دارت، حيث تقوم بتنفيذ مهمة محددة عند استدعائها. تأتي الدوال في دارت بعدة أشكال وأنواع، ونحن سنتعرف في هذه المقالة على أربعة أنواع رئيسية للدوال وهي:

المحتويات
دالة بدون معاملات ولا ترجع قيمةدالة بمعاملات ولا ترجع قيمةدالة بدون معاملات وترجع قيمةدالة بمعاملات وترجع قيمة

    دالة بدون معاملات ولا ترجع قيمة

    هذا النوع من الدوال لا يستلزم تمرير أي معاملات إليها، ولا يُرجع قيمة بعد الانتهاء من تنفيذها. اليكم مثال على هذا النوع من الدوال:

    void printName() {
      print("My name is John Doe.");
    }
    
    void main() {
      printName();
    }

    نتيجة الكود:

    My name is John Doe.

    في هذا المثال، تم تعريف الدالة printName التي لا تحتاج لأي معاملات ولا ترجع قيمة. بمجرد استدعاء الدالة printName في دالة main، تتم طباعة النص “My name is John Doe.” على الشاشة.

    يمكننا أيضًا إضافة المزيد من الأمثلة لهذا النوع من الدوال للتوضيح، كالتالي:

    void printGreeting() {
      print("Hello, Dart!");
    }
    
    void main() {
      printGreeting();
    }

    نتيجة الكود:

    Hello, Dart!

    دالة بمعاملات ولا ترجع قيمة

    في هذا النوع من الدوال، يتم تمرير معاملات إلى الدالة ولكنها لا تقوم بإرجاع قيمة بعد الانتهاء من تنفيذها. اليكم مثالًا توضيحيًا:

    void printName(String name) {
      print("Welcome, $name.");
    }
    
    void main() {
      printName("John");
    }

    نتيجة الكود:

    Welcome, John.

    في هذا المثال، تم تعريف الدالة printName التي تأخذ معاملًا بنوع String يُمثل اسمًا، ولكنها لا تقوم بإرجاع قيمة. عند استدعاء الدالة printName في دالة main وتمرير الاسم “John” كمعامل، يتم طباعة الترحيب “Welcome, John.” على الشاشة.

    يمكننا أيضًا إضافة المزيد من الأمثلة لهذا النوع من الدوال للتوضيح، كالتالي:

    void calculateArea(double length, double width) {
      double area = length * width;
      print("The area is $area square units.");
    }
    
    void main() {
      double l = 5.0;
      double w = 3.0;
    
      calculateArea(l, w);
    }

    نتيجة الكود:

    The area is 15.0 square units.

    دالة بدون معاملات وترجع قيمة

    هذا النوع من الدوال لا يستلزم تمرير أي معاملات إليها، ولكنها تقوم بإرجاع قيمة بعد الانتهاء من تنفيذها. اليكم مثالًا توضيحيًا:

    String getGreeting() {
      return "Hello, Dart!";
    }
    
    void main() {
      String greeting = getGreeting();
      print(greeting);
    }

    نتيجة الكود:

    Hello, Dart!

    في هذا المثال، تم تعريف الدالة getGreeting التي لا تحتاج لأي معاملات ولكنها ترجع قيمة من نوع String. عند استدعاء الدالة getGreeting في دالة main وتخزين القيمة المُرجعة في متغير greeting، يتم طباعة التحية “Hello, Dart!” على الشاشة.


    دالة بمعاملات وترجع قيمة

    في هذا النوع من الدوال، يتم تمرير معاملات إلى الدالة وتقوم بإرجاع قيمة بعد الانتهاء من تنفيذها. اليكم مثالًا توضيحيًا:

    int multiply(int a, int b) {
      return a * b;
    }
    
    void main() {
      int x = 5;
      int y = 3;
    
      int result = multiply(x, y);
      print("The result is $result.");
    }

    نتيجة الكود:

    The result is 15.

    في هذا المثال، تم تعريف الدالة multiply التي تأخذ معاملين بنوع int وتقوم بإرجاع قيمة من نوع int تمثل حاصل ضرب العددين. عند استدعاء الدالة multiply في دالة main وتمرير الأعداد 5 و 3 كمعاملات، يتم حساب الناتج 15 وتخزينه في المتغير result، ومن ثم يتم طباعة النتيجة “The result is 15.” على الشاشة.

    وهذا مثالًا توضيحيًا أخر:

    double calculateAverage(List<double> numbers) {
      double sum = 0.0;
      for (double num in numbers) {
        sum += num;
      }
      return sum / numbers.length;
    }
    
    void main() {
      List<double> grades = [80.0, 90.0, 75.0, 85.0, 95.0];
      double average = calculateAverage(grades);
      print("The average grade is $average.");
    }

    نتيجة الكود:

    The average grade is 85.0.

    في هذا المثال، تم تعريف الدالة calculateAverage التي تأخذ قائمةً من الأعداد بنوع double وتقوم بحساب المتوسط الحسابي لتلك الأعداد. بعد حساب المتوسط، يتم إرجاع القيمة المحسوبة من الدالة. عند استدعاء الدالة calculateAverage في دالة main وتمرير قائمة الدرجات، يتم حساب المتوسط وتخزينه في المتغير average، ثم يتم طباعة النتيجة “The average grade is 85.0.” على الشاشة.

    يمكننا أيضًا إضافة المزيد من الأمثلة لهذا النوع من الدوال للتوضيح، كالتالي:

    bool isEven(int number) {
      return number % 2 == 0;
    }
    
    void main() {
      int num = 7;
      bool isNumEven = isEven(num);
    
      if (isNumEven) {
        print("$num is even.");
      } else {
        print("$num is odd.");
      }
    }

    نتيجة الكود:

    7 is odd.

    في هذا المثال، تم تعريف الدالة isEven التي تأخذ عددًا بنوع int وتقوم بالتحقق مما إذا كان العدد زوجيًا أم لا. إذا كان العدد زوجيًا، يتم إرجاع القيمة true، وإلا فإنه يتم إرجاع القيمة false. عند استدعاء الدالة isEven في دالة main وتمرير العدد 7 كمعامل، يتم التحقق من أن العدد فردي وبالتالي يتم طباعة النص “7 is odd.” على الشاشة.


    في هذه المقالة، قمنا بتوضيح أربعة أنواع رئيسية للدوال functions في لغة برمجة دارت. تعرفنا على الدوال بدون معاملات ولا قيمة إرجاع، والدوال بمعاملات ولا قيمة إرجاع، والدوال بدون معاملات ولها قيمة إرجاع، والدوال بمعاملات ولها قيمة إرجاع. كل نوع من هذه الدوال له استخداماته ويمكن تنفيذه بطرق مختلفة حسب احتياجات المطور. يمكنك استخدام هذه المفاهيم لتطوير برامج متعددة المهام وتحقيق العديد من الوظائف المختلفة.

    Arab Flutter Community 🚀

    انضم إلى مجتمع Arab Flutter
    شارك هذا المقال
    فيسبوك تويتر Whatsapp Whatsapp لينكد ان تلغرام نسخ الرابط
    المقال السابق شرح الدوال Functions في لغة دارت (Functions In Dart) الدرس 17: شرح الدوال في لغة دارت (Functions In Dart)
    المقال التالي شرح معاملات الدوال Parameters في لغة دارت (Dart) الدرس 19: شرح معاملات الدوال Parameters في لغة دارت (Dart)
    Avatar of عبدالله يوسف
    بواسطة عبدالله يوسف Founder and CEO at ArabFlutter
    تابع:
    أنا عبدالله يوسف، مهندس مصري ومؤسس موقع عرب فلاتر، ملهم بشغف التكنولوجيا والإبداع. كمصمم مواقع ومبرمج تطبيقات موبايل باستخدام Flutter، أستمتع بخلق عوالم رقمية فريدة ومبتكرة. تتجلى مواهبي في تصميم وتطوير واجهات مستخدم تفاعلية، حيث يمزج الجانب الجمالي بالدقة الهندسية. ما يميزني هو إلمامي الواسع بتقنيات البرمجة والتصميم، ومقدرتي على تطوير تطبيقات متنوعة عبر منصات مختلفة. أعتبر نفسي مبدعًا وملتزمًا، حيث أسعى دائمًا لتحقيق تحسين مستمر في مهاراتي وتقنياتي. أستمتع بتحديات العمل الجماعي وأؤمن بأهمية الابتكار والتطور. بفضل إبداعي والتزامي، أسعى لتقديم حلول فعّالة تلبي توقعات العملاء وتفوق عن المألوف.
    اترك تعليقا اترك تعليقا

    اترك تعليقاً إلغاء الرد

    لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

    شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
    شرح الـ Event Loop في Flutter وجعل التطبيق لا يتوقف أبدًا
    Tutorials
    حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
    حل مشكلة التوافق بين Java و Kotlin و Gradle في فلاتر
    Tutorials
    أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
    أفضل الـ Packages في Flutter لتسريع تطوير التطبيقات
    Tutorials
    طريقة انشاء المجلدات باستخدام Dart
    طريقة انشاء المجلدات باستخدام كود Dart تلقائيًا
    Tutorials

    مقالات ذات الصلة

    اطلع على المزيد من المقالات المتعلقة بهذا الموضوع!
    شرح العوازل في لغة دارت (Isolates in Dart)
    Dart

    شرح العوازل في لغة دارت (Isolates in Dart)

    8
    شرح الـ Stream في لغة دارت (Stream in Dart)
    Dart

    الدرس 57: شرح الـ Stream في لغة دارت (Stream in Dart)

    8
    شرح عبارات async & await في لغة دارت (Dart)
    Dart

    الدرس 56: شرح عبارات async & await في لغة دارت (Dart)

    6
    شرح مفهوم الـ Future في لغة دارت (Future In Dart)
    Dart

    الدرس 55: شرح مفهوم الـ Future في لغة دارت (Future In Dart)

    6
    شرح مفهوم الـ Asynchronous في لغة دارت (Dart)
    Dart

    الدرس 54: شرح مفهوم الـ Asynchronous في لغة دارت (Dart)

    5
    10 تمارين محلولة على Null Safety في لغة دارت Dart
    Dart

    الدرس 53: 10 تمارين محلولة على Null Safety في لغة دارت Dart

    5
    أظهر المزيد
    شعار موقع عرب فلاتر شعار موقع عرب فلاتر

    About US

    Quick Links

    • خدماتنا
    • من نحن
    • اتصل بنا
    • اتفاقية استخدام
    • سياسة الخصوصية
    © جميع الحقوق محفوظة موقع عرب فلاتر 2023
    • Dart
    • Widgets
    • Packages
    • Tutorials
    • Flutter Roadmap
    • تثبيت Dart
    • تثبيت Flutter
    adbanner
    تم اكتشاف مانع إعلانات
    مرحبًا، يرجى إيقاف مانع الإعلانات. الإعلانات تُساهم في دعم موقعنا وتغطية جزء من تكاليف الاستضافة وتطوير المحتوى. شكرًا لتفهمك ودعمك.
    Okay, I'll Whitelist
    Welcome Back!

    Sign in to your account

    هل نسيت كلمة المرور؟