وظائف كمعلمات في Go (وظيفة كمعلمات)

Wzayf Km Lmat Fy Go Wzyft Km Lmat



يمكننا المراهنة على أن أي لغة برمجة قادرة على شحن كود مستوى الإنتاج تدعم الوظائف.

عندما يتعلق الأمر بـ Go، تعتبر الوظائف مواطنة من الدرجة الأولى، مما يعني أنه يمكنك التعامل معها مثل أي قيمة أخرى مثل الأعداد الصحيحة أو السلاسل أو البنيات.

وهذا يجعلها قوية جدًا حيث يمكنها بشكل أساسي تمرير الوظائف كمعلمات إلى وظائف أخرى وهي وصفة جيدة جدًا لبناء كود مرن وفعال.







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



الوظائف في Go: الأساسيات

قبل أن نتعمق في تمرير الوظائف كمعلمات، دعونا نستكشف البنية الأساسية لدالة Go:



اسم الدالة func ( حدود ) return_type {
// جسم الوظيفة
//...
يعود قيمة الإرجاع
}

تتكون الوظيفة في Go من المكونات التالية:





  • func - الكلمة الأساسية المستخدمة للإعلان عن دالة.
  • اسم الوظيفة - اسم الوظيفة.
  • المعلمات - معلمات الإدخال المحاطة بين قوسين، إن وجدت.
  • return_type - نوع البيانات الذي ترجعه الدالة، إن وجد.
  • return - الكلمة الأساسية المستخدمة لإرجاع قيمة من الوظيفة حيثما تكون قابلة للتطبيق.

أنواع الوظائف

في Go، تحتوي الوظائف على أنواع مثل أي نوع بيانات آخر. يتم تحديد نوع الوظيفة من خلال أنواع المعلمات ونوع الإرجاع.

خذ بعين الاعتبار وظائف المثال التالية:



إضافة وظيفة ( أ , ب كثافة العمليات ) كثافة العمليات {
يعود أ + ب
}

func طرح ( أ , ب كثافة العمليات ) كثافة العمليات {
يعود أ - ب
}

في وظائف المثال الموضحة، تحتوي وظائف 'add' و'subtract' على نوع int حيث تقوم بإرجاع نوع 'int'.

ملاحظة: يعد نوع الوظيفة ضروريًا عند تمرير الوظائف كمعلمات لأنه يضمن أننا نمرر النوع الصحيح من الوظيفة.

تمرير الوظائف كمعلمات

لتمرير دالة كمعلمة إلى دالة أخرى، نقوم ببساطة بتضمين نوع الوظيفة كنوع المعلمات.

مثال على النحو التالي:

func fn ( أ , ب كثافة العمليات , وظيفة العملية ( كثافة العمليات , كثافة العمليات ) كثافة العمليات ) كثافة العمليات {
نتيجة : = عملية ( أ , ب )
يعود نتيجة
}

في هذا المثال، تقبل الدالة 'fn' ثلاث معلمات:

  1. أ و ب - يمثلان القيم الصحيحة للمعاملات.
  2. المعامل - هذه دالة من النوع func(int, int) int التي تنفذ العملية المطلوبة.

يمكننا بعد ذلك استدعاء الوظيفة وتزويدها بالمهمة التي نرغب في تقديمها.

إضافة النتيجة : = fn ( 5 , 3 , يضيف )

خاتمة

في هذا الدليل، قمنا بتغطية أساسيات العمل مع الوظائف كمعلمات في Go.