Junior — Middle
Kuidas sisestada uus element dünaamilise massiivi (layers) keskossa?
sobes.tech AI
Vastus AI-lt
Go keeles, et uue elemendi sisestamiseks vahele, tuleb luua uus slice, mis ühendab enne ja pärast sisestuspositsiooni olevad osad ning sisestatud elemendi. Näiteks, et sisestada element x positsioonile i slice'is s:
s = append(s[:i], append([]T{x}, s[i:]...)...)
Siin on T slice elementide tüüp. See meetod töötab järgmiselt:
- Võtame lõigu algusest kuni positsioonini
i(ilmai):s[:i] - Loome ühe elemendiga slice:
[]T{x} - Võtame lõigu positsioonist
ikuni lõpuni:s[i:] - Sise-
appendühendab sisestatud elemendi ja slice'i saba - Välis-
appendlisab kõik algusesse
Näide:
s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// nüüd on s: [1 2 3 4 5]
See on standardne viis sisestamiseks slice'i keskpaika Go keeles.