Avatar ·

كيفية إنشاء شريحة ثنائية الأبعاد (2D slice) بشكل مضغوط في Go؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة عند العمل مع الشرائح ثنائية الأبعاد. أحتاج إلى إنشاء مصفوفة، مثلاً 3x4، لتخزين الأعداد الصحيحة فيها. في لغات أخرى، أكتب ببساطة `int matrix[3][4]`، لكن في Go لا يعمل ذلك. حاولت القيام بذلك: ```go matrix := make([][]int, 3) for i := range matrix { matrix[i] = make([]int, 4) } ``` هذا يعمل، لكن الكود يصبح ضخماً. للتهيئة البسيطة، يجب كتابة حلقة كاملة. هل هناك طريقة أكثر إيجازاً؟ ربما يوجد سطر واحد أو دالة مدمجة؟ بالإضافة إلى ذلك: أحتاج إلى أن تكون جميع العناصر مملوءة بالأصفار (أو بقيمة افتراضية أخرى). وأيضاً — ماذا أفعل إذا أردت إنشاء مصفوفة "خشنة" (jagged array)، حيث تكون الصفوف ذات أطوال مختلفة؟ على سبيل المثال، الصف الأول — 3 عناصر، الثاني — 5، الثالث — 2. شكراً مسبقاً على المساعدة! مثال على الكود مع محاولتي الحالية: ```go package main import "fmt" func main() { // أتمنى أن يكون بشكل أكثر إحكاماً... row