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

متى تحتاج إلى أقواس عند تهيئة بنيات Go؟

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

When do you need parentheses when initializing Go structs?

تهيئة هياكل Go باستخدام الأقواس

عند تهيئة الهياكل في Go، فإن استخدام الأقواس ليس ضروريًا ولكن يمكن تفضيله في مواقف معينة.

عادةً، تتم تهيئة البنية باستخدام الأقواس، كما هو موضح في:

item1 := Item{1, "Foo"}

ومع ذلك، من الصحيح أيضًا تهيئة البنية باستخدام الأقواس:

item2 := (Item{2, "Bar"})

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

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

if i := Item{3, "a"}; i.Id == 3 {
}

لا يستطيع المترجم تحديد ما إذا كان القوس الافتتاحي ينتمي إلى الحرف المركب أو نص عبارة if. تؤدي إضافة الأقواس إلى حل هذا الغموض:

if i := (Item{3, "a"}); i.Id == 3 {
}

في هذه الحالة، تشير الأقواس بوضوح إلى أن القيمة الحرفية المركبة هي القيمة المخصصة لـ i. لمزيد من التفاصيل، راجع صفحة "Struct in for Loop initializer".

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3