Junior — Middle
Как да вмъкнете нов елемент в централната част на динамичен масив (слой)?
sobes.tech AI
Отговор от AI
В Go, за да вмъкнете нов елемент в средата на слайс, трябва да създадете нов слайс, който съчетава частите преди и след позицията на вмъкване, както и елемента за вмъкване. Например, за да вмъкнете елемента x на позиция i в слайса s:
s = append(s[:i], append([]T{x}, s[i:]...)...)
Тук, T е типът на елементите в слайса. Този метод работи така:
- Вземаме сегмент от началото до позиция
i(безi):s[:i] - Създаваме слайс с един елемент
x:[]T{x} - Вземаме сегмент от позиция
iдо края:s[i:] - Вътрешният
appendсъчетава елемента за вмъкване и опашката на слайса - Външният
appendдобавя всичко в началото
Пример:
s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// сега s е: [1 2 3 4 5]
Това е стандартният начин за вмъкване в средата на слайс в Go.