يواجه الكود الخاص بك مشكلة في الكتابة فوق المتغير لأنك تقوم بإنشاء شرائح جديدة (pathA و pathB) عن طريق إلحاق عناصر بنفس مصفوفة الدعم (المسار) داخل حلقة.
خلفية عن الشرائح في Go:
مشكلة في الكود الخاص بك:
في الكود الخاص بك، أنت تقوم بإنشاء شريحتين جديدتين، pathA وpathB، باستخدام وظيفة الإلحاق:
pathA := append(route, nextA) pathB := append(route, nextB)
إليك ما يحدث:
الحل:
لتجنب هذه الكتابة الفوقية، تحتاج إلى التأكد من أن pathA وpathB لهما مصفوفات دعم فريدة. يمكنك تحقيق ذلك عن طريق إنشاء شريحة جديدة يدويًا لواحدة منها باستخدام الإنشاء والنسخ:newRoute := make([]int, len(route), (cap(route) 1)*2) نسخ (طريق جديد، طريق) إذا كنت % 2 == 0 { المسار أ: = إلحاق (newRoute، nextA) } آخر { المسارB := إلحاق (newRoute، nextB)تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3