Sobes.tech
Junior — Middle

Kaip įterpti naują elementą į dinaminio masyvo (layers) centrinę dalį?

sobes.tech AI

Atsakymas iš AI

Go kalboje, norint įterpti naują elementą į vidurį slice, reikia sukurti naują slice, kuris sujungia prieš ir po įterpimo pozicijos dalis bei įterptą elementą. Pavyzdžiui, norint įterpti elementą x į poziciją i slice s:

s = append(s[:i], append([]T{x}, s[i:]...)...)

Čia T yra slice elementų tipas. Šis metodas veikia taip:

  1. Imame segmentą nuo pradžios iki pozicijos i (neįskaitant i): s[:i]
  2. Sukuriame slice su vienu elementu x: []T{x}
  3. Imame segmentą nuo pozicijos i iki pabaigos: s[i:]
  4. Vidinis append sujungia įterptą elementą ir slice galą
  5. Išorinis append prideda viską į pradžią

Pavyzdys:

s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// dabar s: [1 2 3 4 5]

Tai yra standartinis būdas įterpti į slice vidurį Go kalboje.