الهياكل (structs) والمؤشرات (pointers)
جزء من دورة Go
كل متغيّر كتبته حتى الآن في هذا المسار يحمل قيمة واحدة سائبة: عددًا واحدًا، أو نصًا واحدًا، أو شريحة واحدة. لكن البيانات الحقيقية نادرًا ما تأتي فرادى. النقطة على الشاشة تحتاج إلى س وص معًا. والمستخدم يحتاج إلى اسم وبريد معًا. تستطيع تتبّعها متغيّرات منفصلة، pointX وpointY، لكن لا شيء يمنعك من تحديث أحدهما ونسيان الآخر، وفي اللحظة التي تريد فيها تمرير "هذه النقطة" إلى دالة، تجد نفسك تمرّر مُعاملين لا يعنيان شيئًا...
فكّر في استمارة ورقية: مستطيل فيه خانات موسومة، "الاسم" و"العمر" و"البريد"، وكل خانة تنتظر صنفًا بعينه من الإجابات. الاستمارة نفسها قالب، شكل فيه خانات مسمّاة. وملء واحدة منها ينتج إجابات شخص بعينه داخل ذلك الشكل. والبنية في Go هي ذلك القالب بالضبط: نوع مسمّى مكوّن من قائمة حقول، ولكل حقل اسمه ونوعه. ومتى عرّفت الشكل، استطعت ملء ما شئت من نسخه، وكل نسخة قيمة مستقلة بذاتها.
هل تريد تعلّم Go الهياكل (structs) والمؤشرات (pointers) في بيئة حقيقية؟
انقر بالأسفل لتحصل على جهاز لينكس مع Go جاهز، وتعمل على الهياكل (structs) والمؤشرات (pointers) بشكل عملي مع مدرّس ذكي يعرف الكود الخاص بك.
ابدأ هذا الدرسالهياكل (structs) والمؤشرات (pointers)ما الذي ستتعلّمه
- Struct definition
- Field access
- Zero values for structs
- Pointer types
- & and * operators
- Pointer receivers vs value receivers
- When to use a pointer
اقرأ هذا الدرس بلغتك
كل دروس هذه الدورة
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 دقيقة
