Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الـ Methods مقابل الـ Functions

جزء من قسم المنطق وتدفق التنفيذ في رحلة GO على Coddy. الدرس 10 من 68.

في حين أن كلًّا من الأساليب والدوال ينفّذ عمليات في Go، فإن لكلٍّ منهما أغراضًا مختلفة وأنماط تعريف مميّزة. ويُعد فهم هذا الاختلاف أمرًا بالغ الأهمية لكتابة تعليمات برمجية واضحة ومنظمة.

تكون الدالة مستقلة بذاتها وغير تابعة. فهي لا تنتمي إلى أي نوع محدد:

func calculateArea(width, height float64) float64 {
    return width * height
}

ترتبط الدالة بنوع محدد من خلال مستقبِل. وهي تنتمي إلى ذلك النوع ويمكنها الوصول إلى بياناته:

func (r Rectangle) area() float64 {
    return r.Width * r.Height
}

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

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم Go عبر الإنترنت