Avatar ·

كيفية عمل if-else في سطر واحد في Go؟ العامل الثلاثي

مرحباً بالجميع! بدأت للتو في تعلم Go بعد JavaScript وPython، وواجهت مشكلة. في تلك اللغات اعتدت كتابة تعبيرات شرطية قصيرة في سطر واحد، على سبيل المثال:\n\nفي JavaScript: `const status = age >= 18 ? "بالغ" : "طفل";`\nفي Python: `status = "بالغ" if age >= 18 else "طفل"`\n\nهذا مريح جداً للتعيينات البسيطة. لكن في Go لم أتمكن من العثور على ما يعادله. حاولت كتابة شيء مثل:\n\n```go\nstatus := age >= 18 ? "بالغ" : "طفل"\n```\n\nلكن المترجم يعطي خطأ. جربت خيارات مختلفة لكن لا شيء يعمل. هل حقاً لا يوجد عامل ثلاثي (ternary operator) في Go؟ كيف إذن أكتب شروطاً بسيطة في سطر واحد؟ أضطر لكتابة كتل if-else كاملة حتى للأشياء الأساسية، ويصبح الكود ضخماً جداً.\n\nعلى سبيل المثال، أريد تعيين قيمة لمتغير