دلیل کم شدن len اسلایس پس از شیفت دادن ایندکسهای 8 به بعد به سمت چپ
ایجاد شده در ۱۰ خرداد ۱۴۰۲
سلام
در دقیقه 22:30 دلیل اینکه پس از شیفت دادن ایندکسهای 8 به بعد اسلایس به سمت چپ یدونه از len اسلایس کم شد این هست که عنصر آخر nil میشه یا دلیل دیگه ای داره؟
پس اگه اشتباه نکنم در مثال آخری که توی جوابتون زدید اسلایس numbers میشه:
{1, 2, 3, 9, 10}
عملکرد پشت صحنه تابع append چجوریه؟
یدونه اسلایس از آرگومان اولش میسازه، یدونه اسلایس هم از آرگومان دومش میسازه، بعدش دومی رو از سمت راست به اولی combine میکنه؟ یا به صورت دیگه ای هستش؟
محمد حیدری۱۱ خرداد ۱۴۰۲، ۱۹:۵۹
سلام وقتتون بخیر
هنگامی که شما از تابع append در گولنگ استفاده میکنید، این تابع ابتدا یک slice جدید با طولی برابر با slice اصلی شما و با ظرفیت بیشتر از آن ایجاد میکند. سپس تمام عناصر موجود در slice اصلی را به slice جدید منتقل میکند و المان جدید را در پایان slice جدید قرار میدهد. در نهایت، تابع append slice جدید را به عنوان خروجی باز میگرداند.
به عنوان مثال، فرض کنید شما یک slice به نام mySlice دارید و میخواهید المان جدیدی به آن اضافه کنید
در اینجا، ابتدا mySlice شامل اعداد 1، 2 و 3 است. با استفاده از تابع append، عدد 4 به پایان mySlice اضافه میشود و slice جدید در متغیر newSlice ذخیره میشود. حالا newSlice شامل اعداد 1، 2، 3 و 4 است.