Avatar ·

كيفية تعريف مصفوفة ثابتة في Go؟ (مع مثال كود)

مرحبًا بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة. أحتاج إلى تعريف مصفوفة من السلاسل النصية (strings) التي ستُستخدم كثابت (constant) بحيث لا يمكن تعديلها أثناء تنفيذ البرنامج. في لغات أخرى (مثل Java أو C++)، كنت أكتب `final static String[] DAYS = {...}` أو `const char* DAYS[] = {...}`. في Go، حاولت القيام بذلك: ```go const days = [7]string{ "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد", } ``` لكن المترجم (compiler) أظهر خطأ: `const initializer [7]string literal is not a constant`. أفهم أن الثوابت في Go يمكن أن تكون فقط أرقامًا وسلاسل نصية وقيمًا منطقية (booleans). لكنني بحاجة ماسة لحماية البيانات من التغيير العرضي. كيف يمكنني تعريف مصفوفة غير قابلة للتغيير في Go؟ هل هناك نهج آخر بدون استخدام الكلمة المفتاحية `const`؟ شكرًا مقدمًا على المساعدة! <<>>

لماذا لا يمكن استخدام const للمصفوفات؟