الأساليب (methods) والواجهات (interfaces)
جزء من دورة Go
علّمك الدرس الماضي كيف تجمع الحقول المترابطة في بنية struct، لكن البنية وحدها لا تحمل إلا بيانات، ولا سلوك لها. فإن أردت أن يعرف Rectangle كيف يحسب مساحته بنفسه، فإما أن تكتب دالة عادية تأخذ Rectangle كوسيط، وإما أن تُلحق السلوك بالنوع نفسه فيسافر مع البيانات جنباً إلى جنب.
التابع (method) دالة عادية بمكوّن إضافي واحد: المُستقبِل (receiver)، وهو متغير مسمّى من نوع بعينه يجلس بين قوسين خاصين به بعد كلمة func وقبل اسم التابع. وهذا المُستقبِل هو ما يتيح لك كتابة r.Area() بدل Area(r)، تماماً كجهاز تحكم عن بُعد اقترن بتلفاز واحد بعينه فلا يتحكم إلا به، أياً كان الزر الذي تضغطه عليه.
هل تريد تعلّم Go الأساليب (methods) والواجهات (interfaces) في بيئة حقيقية؟
انقر بالأسفل لتحصل على جهاز لينكس مع Go جاهز، وتعمل على الأساليب (methods) والواجهات (interfaces) بشكل عملي مع مدرّس ذكي يعرف الكود الخاص بك.
ابدأ هذا الدرسالأساليب (methods) والواجهات (interfaces)ما الذي ستتعلّمه
- Method declaration
- Receiver types
- Pointer vs value receivers
- Interface definition
- Implicit interface satisfaction
- Small interfaces
- Io.Writer example
اقرأ هذا الدرس بلغتك
كل دروس هذه الدورة
20 دروس- 1مرحبا، Go25 دقيقة
- 2المتغيرات والأنواع25 دقيقة
- 3التحكم في التدفق: if و for30 دقيقة
- 4الدوال30 دقيقة
- 5الشرائح (slices) والخرائط (maps)35 دقيقة
- 6الهياكل (structs) والمؤشرات (pointers)35 دقيقة
- 7الأساليب (methods) والواجهات (interfaces)35 دقيقة
- 8معالجة الأخطاء35 دقيقة
- 9الوحدات (modules) وهيكل المشروع35 دقيقة
- 10مشروع CLI الصغير التتويجي40 دقيقة
- 11جولة في المكتبة القياسية40 دقيقة
- 12الاختبار والمعايير المرجعية (benchmarks)40 دقيقة
- 13الغوروتينات (goroutines) والقنوات (channels)40 دقيقة
- 14أنماط التزامن45 دقيقة
- 15الأنواع العامة (generics)35 دقيقة
- 16خوادم HTTP45 دقيقة
- 17قواعد البيانات مع database/sql45 دقيقة
- 18الأداء والتحليل التشخيصي40 دقيقة
- 19أنماط التصميم في لغة Go40 دقيقة
- 20النشر والإنتاج45 دقيقة
