عند تهيئة الهياكل في 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