"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف جعلتني هياكل Learning Go أخيرًا أحب البرمجة

كيف جعلتني هياكل Learning Go أخيرًا أحب البرمجة

تم النشر بتاريخ 2024-11-08
تصفح:607

"ما زلت أتذكر الأيام الأولى عندما كنت أتصارع مع الكود.
How Learning Go Structs Finally Made Me Love Coding

الأشياء الأساسية؟ كنت أصل إلى هناك. ولكن بعد ذلك جاءت الهياكل، وبدا كل شيء وكأنه ضبابي. ظللت أكسر الأشياء، وكان الكود الخاص بي في حالة من الفوضى. ما الخطأ الذي كنت أفعله؟
لم يكن الأمر كذلك حتى جلست وتعلمت أساسيات بنيات Go وبدأت في استخدامها بفعالية حتى نقرت الأمور أخيرًا. وكانت تلك نقطة التحول. وفجأة، أصبح الكود أكثر تنظيمًا وفعالية ونظافة. لقد أحدث تحولًا في طريقة تعاملي مع البرمجة، وبدأت أستمتع بالبرمجة بشكل لم يسبق له مثيل."
إذا كنت في نفس القارب - وتتساءل عن سبب قوة الهياكل - فهذا المنشور مناسب لك. اسمح لي أن آخذك في رحلة لإزالة الغموض عن الهياكل وأوضح لك كيف يمكنها تغيير لعبة البرمجة الخاصة بك!

How Learning Go Structs Finally Made Me Love Coding

ما هي البنية؟
في 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)


لماذا لا يثق المبرمجون في الهياكل؟
لأنهم لا يريدون التعامل مع "حقولهم"
How Learning Go Structs Finally Made Me Love Coding

الطرق الهيكلية: إضافة السلوك

هنا تصبح الأمور أكثر إثارة للاهتمام. يمكنك إرفاق طرق بالبنيات لمنحهم السلوك. إنه مثل إعطاء البنية القدرة على فعل الأشياء!

دعونا نحدد طريقة الترحيب لبنية الشخص:


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)



"يجب أن تُكتب البرامج ليقرأها الناس، وبالصدفة فقط لتنفذها الآلات." — هارولد أبيلسون

الأخطاء الشائعة في الهياكل

قبل أن تنطلق في استخدام الهياكل، احذر من هذه المخاطر الشائعة:

  1. الحقول غير المهيأة: يقوم Go تلقائيًا بتعيين قيم صفرية افتراضية (مثل 0 لـ ints أو "" للسلاسل) إلى الحقول إذا لم تقم بتهيئتها.
  2. استخدام المؤشرات عند عدم الحاجة إليها: بالنسبة للبنيات الصغيرة، غالبًا ما يكون تمريرها حسب القيمة بدلاً من المرجع أكثر كفاءة.

الممارسة تجعلك مثاليًا!

  1. سهل: قم بإنشاء بنية كتاب تحتوي على حقول العنوان والمؤلف والصفحات. اكتب طريقة لعرض معلومات الكتاب.
  2. متوسط: إنشاء بنية مكتبة تحتوي على بنيات كتب متعددة. كتابة طرق لإضافة كتاب وقائمة جميع الكتب الموجودة في المكتبة.
  3. متقدم: قم ببناء هيكل مركبة وإدارة أسطول من المركبات باستخدام هيكل الأسطول، مع استكمال إضافة المركبات وإزالتها والبحث عنها حسب العام.

الخلاصة: الوجبات السريعة الرئيسية

  1. الهياكل ضرورية لتجميع البيانات ذات الصلة في Go.
  2. يمكنك تحسين البنيات باستخدام الأساليب وحتى البنيات المتداخلة.
  3. استخدم المؤشرات عندما تحتاج إلى تعديل البنية الأصلية داخل الوظيفة.

إذا كانت هياكل Go قادرة على تسهيل عملية البرمجة بالنسبة لي، فمن المؤكد أنها ستفعل الشيء نفسه بالنسبة لك. برمجة سعيدة!

How Learning Go Structs Finally Made Me Love Coding

بيان الافراج تم إعادة إنتاج هذه المقالة على: https://dev.to/githaiga22/how-learning-go-structs-finally-made-me-love-coding-2pp0?1 إذا كان هناك أي انتهاك، فيرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3