"ما زلت أتذكر الأيام الأولى عندما كنت أتصارع مع الكود.
الأشياء الأساسية؟ كنت أصل إلى هناك. ولكن بعد ذلك جاءت الهياكل، وبدا كل شيء وكأنه ضبابي. ظللت أكسر الأشياء، وكان الكود الخاص بي في حالة من الفوضى. ما الخطأ الذي كنت أفعله؟
لم يكن الأمر كذلك حتى جلست وتعلمت أساسيات بنيات Go وبدأت في استخدامها بفعالية حتى نقرت الأمور أخيرًا. وكانت تلك نقطة التحول. وفجأة، أصبح الكود أكثر تنظيمًا وفعالية ونظافة. لقد أحدث تحولًا في طريقة تعاملي مع البرمجة، وبدأت أستمتع بالبرمجة بشكل لم يسبق له مثيل."
إذا كنت في نفس القارب - وتتساءل عن سبب قوة الهياكل - فهذا المنشور مناسب لك. اسمح لي أن آخذك في رحلة لإزالة الغموض عن الهياكل وأوضح لك كيف يمكنها تغيير لعبة البرمجة الخاصة بك!
ما هي البنية؟
في Go، تشبه البنية مخططًا يسمح لك بتجميع البيانات من أنواع مختلفة معًا. فكر في الأمر على أنه بنية بيانات مخصصة لنمذجة الكيانات المعقدة مثل الشخص أو السيارة أو الكتاب.
على سبيل المثال، يمكن أن تحتوي بنية الشخص على حقول مثل اسم الشخص وعمره وجنسه، مما يجعلها مثالية لتجميع المعلومات ذات الصلة.
لماذا نستخدم الهياكل؟
تساعدك الهياكل على تنظيم البيانات ذات الصلة وتجميعها معًا، مما يسهل إدارة نماذج البيانات المعقدة. سواء كنت تنشئ تطبيقًا يتتبع المستخدمين أو المنتجات أو المخزون، تتيح لك البنيات تجميع أنواع مختلفة من البيانات، تمامًا مثلما يحتوي العنوان على شارع ومدينة ورمز بريدي.
الإعلان عن الهيكل: الأساسيات
بناء الجملة بسيط للغاية. يمكنك تعريف البنية بنوع الكلمة الأساسية، متبوعًا باسم البنية، ثم الحقول الموجودة داخل الأقواس المتعرجة:
type Person struct { Name string Age int Gender string }
الآن لديك بنية شخص تحتوي على ثلاثة حقول: الاسم (سلسلة)، والعمر (int)، والجنس (سلسلة).
الوصول إلى الحقول الهيكلية وتعديلها
للوصول إلى حقول البنية، ما عليك سوى استخدام عامل النقطة (.):
fmt.Println("Name:", person.Name) fmt.Println("Age:", person.Age) fmt.Println("Gender:", person.Gender)
تغيير المجال؟ سهل! يمكنك تعديل القيم تمامًا كما تفعل مع أي متغير آخر:
person.Age = 26 fmt.Println("Updated Age:", person.Age)
لماذا لا يثق المبرمجون في الهياكل؟
لأنهم لا يريدون التعامل مع "حقولهم"
الطرق الهيكلية: إضافة السلوك
هنا تصبح الأمور أكثر إثارة للاهتمام. يمكنك إرفاق طرق بالبنيات لمنحهم السلوك. إنه مثل إعطاء البنية القدرة على فعل الأشياء!
دعونا نحدد طريقة الترحيب لبنية الشخص:
func (p Person) Greet() string { return "Hello, my name is " p.Name }
الآن يمكنك جعل الشخص يحييك:
fmt.Println(person.Greet())
الهياكل ذات الهياكل المتداخلة: جعل الأمور معقدة، ولكنها بسيطة
يمكن أن تحتوي بنيات Go على بنيات أخرى بداخلها، وهو أمر مفيد عندما تريد تصميم بيانات أكثر تعقيدًا. تخيل بنية الطالب التي تتضمن بنية العنوان لملف تعريف كامل:
type Address struct { City string State string } type Student struct { Name string Age int Address Address }
يمكنك الآن إنشاء طالب والوصول إلى الحقول المتداخلة مثل هذا:
student := Student{ Name: "Fred Gitonga", Age: 21, Address: Address{ City: "Kisumu", State: "Mamboleo", }, } fmt.Println(student.Name, "lives in", student.Address.City)
"يجب أن تُكتب البرامج ليقرأها الناس، وبالصدفة فقط لتنفذها الآلات." — هارولد أبيلسون
الأخطاء الشائعة في الهياكل
قبل أن تنطلق في استخدام الهياكل، احذر من هذه المخاطر الشائعة:
الممارسة تجعلك مثاليًا!
الخلاصة: الوجبات السريعة الرئيسية
إذا كانت هياكل Go قادرة على تسهيل عملية البرمجة بالنسبة لي، فمن المؤكد أنها ستفعل الشيء نفسه بالنسبة لك. برمجة سعيدة!
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3