tgoop.com/go_interview_lib/304
Create:
Last Update:
Last Update:
💬 Как удалить элемент из среза в Go без использования стандартной библиотеки?
👉 Если порядок важен
Чтобы удалить элемент из середины среза и сохранить порядок оставшихся элементов, можно использовать append
:
newSlice := append(slice[:index], slice[index+1:]...)
Это объединяет часть среза до удаляемого элемента с частью среза после удаляемого элемента, исключая сам удаляемый элемент, но сохраняя порядок оставшихся элементов.
👉 Если порядок не важен
В случае, когда сохранение исходного порядка элементов не является приоритетом, можно выполнить удаление элемента, заменив его последним элементом среза, а затем уменьшить длину среза. Это эффективнее, так как не требует перемещения элементов:
slice[index] = slice[len(slice)-1]
newSlice := slice[:len(slice)-1]
Этот метод эффективно удаляет элемент, заменяя его последним элементом среза, и уменьшает размер среза, исключая последний элемент.
👉 Удаление из начала или конца
Если элемент для удаления находится в начале или в конце среза, можно просто использовать срезы:
📌 Для удаления первого элемента:
newSlice := slice[1:]
📌 Для удаления последнего элемента:
newSlice := slice[:len(slice)-1]
BY Библиотека Go для собеса | вопросы с собеседований
Share with your friend now:
tgoop.com/go_interview_lib/304