value := range slice {
if value != 2 {
sliceWithoutAllocate = append(sliceWithoutAllocate, value)
}
}
slice = sliceWithoutAllocate
fmt.Println(slice) Подскажите плиз когда делаю slice = sliceWithoutAllocate получается просто меняю ptr у slice, после стоит добавить sliceWithoutAllocate = nil ? у меня это когда в цикле работает
слайс - структура, состоящая из указателя и 2 интов присваивание - присваивает эту структуру
А вы в цикле все двойки в конец слайса переносите, потом длину слайса измените на длину изначального слайса минус кол-во двоек, которые насчитали
будет еще сложней выглядеть а мне просто в цикле надо фильрануть slice и потом на следующей итерации его заново заюзать)
Не нужно приравнивать к nil
ну получается да копируется новая структура в slice а sliceWithoutAllocate делаю nil для коллектора, у меня итераций этих может быть дофига и слайсы большие
а что эта штука делает вообще?
на каждой итерации цикла надо фильтровать массив и потом его снова юзать
Обсуждают сегодня