كيفية تعيين القيم الافتراضية لحقول البنية في Golang؟

Kyfyt T Yyn Alqym Alaftradyt Lhqwl Albnyt Fy Golang



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

في هذا المقال ، سوف نستكشف كيفية تعيين ملف القيمة الافتراضية لحقل منظم في جولانج.

ما هي حقول الهيكل؟

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







كيفية تعيين القيم الافتراضية لحقول الهيكل في Golang؟

قيم افتراضية يمكن تخصيصها لحقول البنية في Go باستخدام:



  • القيم الصفرية الافتراضية
  • المنشئون
  • الهيكل الحرفي
  • قيم الحقول الافتراضية

1: القيم الصفرية الافتراضية

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



يمكن أن تكون هذه الميزة مفيدة عند التعامل مع الهياكل الكبيرة التي تحتوي على العديد من الحقول ، حيث توفر الوقت والجهد لتعيين القيم الافتراضية يدويًا لكل حقل.





فيما يلي مثال يستخدم القيمة الصفرية لتعيين قيم افتراضية للحقول الهيكلية:

الحزمة الرئيسية

يستورد 'FMT'

يكتب هيكل الشخص {
سلسلة الاسم
العمر int
ارتفاع تعويم 64
IsMale منطقي
}

func الرئيسي ( ) {
p1: = شخص { اسم: 'جون' ، عمر: 30 }
fmt.Println ( ص 1 )
fmt.Println ( ص 1 - العمر )
fmt.Println ( ص 1 ارتفاع )
fmt.Println ( ص1- ذكر )
}

يحدد الكود أعلاه الشخص هيكل مع أربعة حقول: الاسم ، والعمر ، والطول ، و IsMale ، وكلها من نوع البيانات المنطقية. بعد ذلك ، نقوم بعمل نسخة جديدة من فئة الأشخاص ، p1 ، ونقوم بتهيئة بعض حقولها باستخدام البنية الحرفية لتحديد أسماء الحقول والقيم. ال القيم الصفرية الافتراضية للحقول التي لم يتم تعيينها بشكل صريح أثناء التهيئة ، يتم عرضها عند طباعة قيم الحقول باستخدام fmt.Println .



انتاج |

2: المنشئون

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

فيما يلي مثال على كيفية تحديد ملف البناء تعمل مع قيم الحقل الافتراضية لبنية:

الحزمة الرئيسية

يستورد 'FMT'

يكتب هيكل الشخص {
سلسلة الاسم
العمر int
سلسلة العنوان
}
func NewPerson ( ) * شخص {
يعود & شخص {
اسم: 'فلان الفلاني' و
عمر: 30 و
عنوان: '123 شارع رئيسي' و
}
}
func الرئيسي ( ) {
p: = NewPerson ( )
fmt.Println ( ص الاسم ص العمر ص العنوان )
}

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

انتاج |

3: الهيكل الحرفي

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

هنا مثال على كيفية الاستخدام حرفية هيكلية لتعيين قيم الحقل الافتراضية لبنية:

الحزمة الرئيسية

يستورد 'FMT'

يكتب هيكل الشخص {
سلسلة الاسم
العمر int
سلسلة العنوان
}
func الرئيسي ( ) {
ع: = شخص {
اسم: 'فلان الفلاني' و
عمر: 30 و
}
fmt.Println ( ص الاسم ص العمر ص العنوان )
}

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

انتاج |

4: قيم الحقول الافتراضية

التعيين قيم افتراضية ل مجالات البناء إن Go هي عملية مباشرة. ال القيمة الافتراضية لحقل الهيكل يمكن تعيينه باستخدام بناء الجملة fieldName: القيمة الافتراضية . على سبيل المثال ، ضع في اعتبارك تعريف البنية التالي:

يكتب هيكل الشخص {
سلسلة الاسم
العمر int
سلسلة الجنس
}

ليسجل قيم افتراضية في حقول هذا الهيكل ، يمكننا استخدام الصيغة التالية:

ع: = شخص {
اسم: 'فلان الفلاني' و
عمر: 30 و
جنس: 'ذكر' و
}

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

ع: = شخص {
اسم: 'جين دو' و
}

كائن الشخص الناتج سيكون له الامتداد قيم افتراضية للحقول العمر والجنس ، وهما 0 وسلسلة فارغة ، على التوالي.

فيما يلي رمز كامل يوضح العملية المذكورة أعلاه:

الحزمة الرئيسية
يستورد 'FMT'

يكتب هيكل الشخص {
سلسلة الاسم
العمر int
سلسلة الجنس
}
func الرئيسي ( ) {
p1: = شخص {
اسم: 'فلان الفلاني' و
عمر: 30 و
جنس: 'ذكر' و
}
fmt.Println ( ص 1 )

ع 2: = شخص {
اسم: 'جيريمي' و
}
fmt.Println ( p2 )
}

في المثال أعلاه ، قمنا ببناء هيكل الشخص الذي يحتوي على ثلاثة حقول: الاسم ، والعملية التي تمثل العمر ، والجنس ، وهي سلسلة تمثل الجنس. ثم يتم استخدام بناء جملة تهيئة الهيكل لبناء مثيلين شخصين ، p1 و p2. تتم تهيئة p1 باستخدام القيم 'John Doe' للاسم و '30' للعمر و 'ذكر' للجنس ، وهي جميع القيم التي تم توفيرها صراحةً. نظرًا لأننا لم نقدم قيمًا للعمر والجنس ، فسيتم تعيين القيم الافتراضية 0 وسلسلة فارغة ، على التوالي ، لهما. تتم تهيئة p2 مبدئيًا باستخدام حقل الاسم فقط.

انتاج |

خاتمة

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