Avatar ·

كيفية دمج شريحتين (slice) في Go؟ دمج الشرائح

مرحبًا! لقد بدأت للتو في تعلم Go وواجهت مشكلة. أحتاج إلى دمج شريحتين (slice) في شريحة واحدة. في Python كنت سأكتب ببساطة `list1 + list2`، لكن في Go، كما فهمت، لا توجد مثل هذه العملية. لدي شريحتان من الأعداد الصحيحة: ```go slice1 := []int{1, 2, 3} slice2 := []int{4, 5, 6} ``` أريد الحصول على النتيجة: `[1 2 3 4 5 6]`. حاولت استخدام العامل `+`، لكن المترجم أظهر خطأ: `invalid operation: slice1 + slice2 (operator + not defined on slice)`. ثم صادفت الدالة `append`، لكنها تضيف العناصر واحدًا تلو الآخر. كتابة حلقة لكل عنصر — أليس هذا غير فعال؟ ربما هناك طريقة مدمجة أو حل اصطلاحي في Go؟ وسؤال آخر: إذا استخدمت `append`، هل سيؤثر ذلك على الشرائح الأصلية؟ هل ستكون الشريحة الجديدة نسخة مستقلة؟ أرشدني إلى كيفية دمج الشرائح بشكل صحيح في Go، وماذا يحدث للذاكرة؟ شكرًا مقدمًا! <<>>

استخدام append مع التفكيك (variadic)