ما هي الهياكل في جولانج

Ma Hy Alhyakl Fy Jwlanj



في لغة Go ، الهيكل عبارة عن مجموعة من المتغيرات (الحقول) مجمعة تحت اسم واحد. إنه نوع بيانات مركب يسمح لنا بإنشاء هياكل بيانات مخصصة للاحتفاظ بالمعلومات ذات الصلة. تشبه الهياكل في Go الفئات في البرمجة الموجهة للكائنات مثل C و C ++ ، لكنها لا تدعم الوراثة. بدلاً من ذلك ، يعتمدون على التكوين لتحقيق إعادة استخدام الكود. تتناول هذه المقالة الهياكل في Golang وكيف يمكننا التصريح عن أعضاء الهيكل والوصول إليه.

ما هو الهيكل في جولانج

في Golang ، الهيكل هو نوع بيانات مركب يتكون من صفر أو أكثر من الحقول المسماة ، ولكل منها نوع معين. يمكن أن تكون مجالات الهيكل من أي نوع ، بما في ذلك الهياكل أو المصفوفات أو الوظائف أو الواجهات الأخرى.







فيما يلي مثال على هيكل في جولانج:



يكتب هيكل الشخص {
سلسلة FullName
السنوات
عنوان المنطقة
}
يكتب هيكل العنوان {
سلسلة StreetName
سلسلة اسم المدينة
سلسلة اسم البلد
}


لقد حددنا هنا بنية الشخص التي تحتوي على ثلاثة حقول: الاسم الكامل ، والسنوات ، والموقع. حقل الموقع هو في حد ذاته هيكل يحتوي على ثلاثة حقول: اسم الشارع واسم المدينة واسم البلد.



كيفية التصريح عن الهيكل في Golang

يمكننا التصريح عن بنية في Golang باستخدام يكتب كلمة رئيسية. يتم تعريف اسم الهيكل بعد يكتب الكلمة الأساسية وحقولها محاطة بأقواس معقوفة {} . إليك بنية التصريح عن بنية في Go:





يكتب اسم الهيكل {
اسم الحقل 1 نوع الحقل 1
اسم الحقل 2 نوع الحقل 2
...
}


فيما يلي مثال على كيفية التصريح عن بنية باسم الشخص مع اسم حقلين وعمر من النوعين string و int على التوالي:

يكتب هيكل الشخص {
سلسلة الاسم
كثافة العمليات العمر
}


في الكود أعلاه ، استخدمنا ملف يكتب الكلمة الأساسية للإعلان عن هيكل جديد اسمه شخص مع مجالين اسم من نوع السلسلة و عمر من نوع int. الحقول مفصولة بامتداد خط جديد شخصية ولكن أ فاصلة منقوطة (؛) يمكن استخدامها أيضًا لفصلها.



كيفية الوصول إلى Struct Member في Golang

للوصول إلى حقول مثيل البنية في لغة Go نقطة ('.') المشغل مستخدم. هذا العامل النقطي متبوع باسم حقل. في ما يلي مثال على كيفية الوصول إلى الاسم والحقول العمرية لمثيل بنية الشخص:

// إنشاء ملف ' شخص ' مثيل هيكل بالاسم 'كاش' والعمر 24
كاش: = شخص { اسم: 'كاش' ، عمر: 24 }

// الوصول إلى حقول ' كاش ' مثيل هيكل
fmt.Println ( kash.name ) // انتاج: 'كاش'
fmt.Println ( kash.age ) // انتاج: 24


في الكود أعلاه ، أنشأنا مثيلًا جديدًا لبنية الشخص باسم kash كاش والعمر 24 . نصل بعد ذلك إلى حقول الاسم والعمر لمثيل kash Struct باستخدام ('.') المشغل وطباعتها على وحدة التحكم.

من المهم ملاحظة أنه يتم الوصول إلى حقول مثيل البنية باستخدام تدوين النقطة وليس سهم تدوين (->) المستخدمة في بعض لغات البرمجة الأخرى. يتم استخدام التدوين النقطي باستمرار عبر Go للوصول إلى حقول الهياكل ، بالإضافة إلى خصائص وطرق الأنواع الأخرى.

رمز مثال للإعلان عن عضو الهيكل والوصول إليه في Golang

فيما يلي مثال كامل للإعلان عن بنية الشخص في Go وطباعة قيمها على الشاشة:

الحزمة الرئيسية
يستورد 'FMT'
يكتب هيكل الشخص {
سلسلة الاسم
كثافة العمليات العمر
}
func الرئيسي ( ) {
// إنشاء ملف ' شخص ' مثيل هيكل بالاسم 'كاش' والعمر 24
كاش: = شخص { اسم: 'كاش' ، عمر: 24 }
// اطبع ملف ' اسم ' و ' عمر ' ل ' كاش ' مثيل هيكل إلى وحدة التحكم
fmt.Printf ( 'الاسم:٪ s ' ، kash.name )
fmt.Printf ( 'العمر:٪ d ' ، kash.age )
}


في الكود المكتوب أعلاه ، أعلنا أولاً عن شخص هيكل. تحتوي هذه البنية على حقلين هما الاسم والعمر. بعد ذلك ، أنشأنا مثيلاً جديدًا لبنية الشخص باسم kash كاش والعمر 24 .

لعرض حقول الاسم والعمر ، نستخدم الامتداد fmt.Printf تعمل مع ٪س و ٪د محددات التنسيق لطباعة حقلي الاسم والعمر ، على التوالي.

بعد التشغيل ، تظهر التعليمات البرمجية التالية الإخراج على وحدة التحكم:

كيفية تمرير الهيكل إلى حجج وظيفية

لتمرير بنية كوسيطة دالة في Go ، علينا ببساطة تحديد نوع البنية كنوع المعلمة في توقيع الوظيفة ، ثم تمرير مثيل البنية كوسيطة عند استدعاء الوظيفة.

رمز المثال

يوضح المثال أدناه كيفية تمرير مثيل هيكل الشخص كوسيطة إلى دالة في لغة Go وطباعة قيمها على الشاشة:

الحزمة الرئيسية
يستورد 'FMT'
// أعلن عن هيكل اسمه ' شخص ' مع مجالين: ' اسم ' و ' عمر '
يكتب هيكل الشخص {
سلسلة الاسم
كثافة العمليات العمر
}
// تعلن أ وظيفة اسم الشيئ ' طباعة ' يأخذ ' شخص ' هيكل مثل حجة
طباعة func ( ع شخص ) {
fmt.Printf ( 'الاسم:٪ s ' ، ص الاسم )
fmt.Printf ( 'العمر:٪ d ' ، صفحة )
}
func الرئيسي ( ) {
// إنشاء ملف ' شخص ' مثيل هيكل بالاسم 'كاش' والعمر 24
كاش: = شخص { اسم: 'كاش' ، عمر: 24 }
// مرر ال ' كاش ' مثيل هيكل ل ' طباعة ' وظيفة
طباعة ( كاش )
}


في الكود أعلاه ، أعلنا أولاً عن بنية الشخص مع حقلين ، اسم، و عمر . ثم نعلن وظيفة باسم طباعة يأخذ هيكل الشخص كوسيطة ويطبع اسمه والحقول العمرية على الشاشة باستخدام وظيفة fmt.Printf.

في الوظيفة الرئيسية ، أنشأنا مثيلًا جديدًا لبنية الشخص باسم kash كاش وعمر 24. ثم نمرر مثيل kash Struct إلى وظيفة printPerson عن طريق استدعاء وظيفة printPerson وتمريرها كاش كحجة.

يمكن رؤية الإخراج التالي على وحدة التحكم بعد تشغيل الكود أعلاه:

خاتمة

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