Sobes.tech
Junior — Middle

როგორ შევიტანოთ ახალი ელემენტი დინამიური მასივის (layers) ცენტრალურ ნაწილში?

sobes.tech AI

პასუხი AI-სგან

Go ენაში, ახალი ელემენტის ჩასმა სლაის შუაში, საჭიროა შექმნათ ახალი სლაისი, რომელიც აერთიანებს ჩასმის პოზიციამდე და შემდეგ ნაწილებს, და ჩასმულ ელემენტს. მაგალითად, თუ გსურთ ჩასვათ ელემენტი x პოზიციაზე i სლაისში s:

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

აქ, T არის სლაის ელემენტების ტიპი. ეს მეთოდი მუშაობს ასე:

  1. ვიღებთ სლაის დასაწყისიდან i პოზიციამდე (შეიცვლება i): s[:i]
  2. ვქმნით სლაის ერთ ელემენტით x: []T{x}
  3. ვიღებთ სლაის i პოზიციიდან ბოლომდე: s[i:]
  4. შიდა append აერთიანებს ჩასმულ ელემენტს და სლაისის ბოლო ნაწილს
  5. გარე 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-ში.