Junior — Middle
Hoe voeg je een nieuw element toe aan het centrale deel van een dynamische array (laag)?
sobes.tech AI
Antwoord van AI
In Go, om een nieuw element in het midden van een slice te plaatsen, moet je een nieuwe slice maken die de delen vóór en na de insertiepositie combineert, samen met het te plaatsen element. Bijvoorbeeld, om het element x op positie i in slice s te plaatsen:
s = append(s[:i], append([]T{x}, s[i:]...)...)
Hier is T het type van de elementen in de slice. Deze methode werkt als volgt:
- Neem een slice van het begin tot aan positie
i(exclusiefi):s[:i] - Maak een slice met één element
x:[]T{x} - Neem een slice van positie
itot het einde:s[i:] - De interne
appendcombineert het toe te voegen element met de staart van de slice - De externe
appendvoegt alles toe aan het begin
Voorbeeld:
s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// s is nu: [1 2 3 4 5]
Dit is de standaardmethode om in het midden van een slice te plaatsen in Go.