AzLearn

الهياكل

Structs

مفهوم ~22 دقيقة

الهياكل — Structs

الهيكل (Struct) هو نوع بيانات مركّب يجمع عدة حقول (fields) في وحدة واحدة. فكّر فيه كـ “class” مبسّطة — Go لا تحتوي على classes بالمعنى التقليدي.

تعريف هيكل

main.go

الطرق (Methods)

الطرق هي دوال مرتبطة بنوع معين. تُعرّف بإضافة مستقبِل (receiver) قبل اسم الدالة:

main.go

متى نستخدم pointer receiver (*

  • عندما تريد تعديل الهيكل
  • عندما يكون الهيكل كبيراً (لتجنب النسخ)
  • القاعدة: إذا طريقة واحدة تحتاج pointer، اجعل كل الطرق pointer

المُنشئات (Constructors)

Go ليس فيها constructors رسمية، لكن الاصطلاح هو كتابة دالة New...:

main.go

التضمين (Embedding)

بدلاً من الوراثة (inheritance)، Go تستخدم التضمين (embedding) — تضع هيكلاً داخل هيكل آخر:

main.go

Tags والتحويل لـ JSON

Tags معلومات إضافية على الحقول — الاستخدام الأشهر هو JSON:

main.go
تحدي — Challenge