Junior — Middle
Comment insérer un nouvel élément dans la partie centrale d'un tableau dynamique (layers) ?
sobes.tech IA
Réponse de l'IA
En Go, pour insérer un nouvel élément au milieu d’un slice, il faut créer un nouveau slice en combinant les parties avant et après la position d’insertion, ainsi que l’élément à insérer. Par exemple, pour insérer l’élément x à la position i du slice s :
s = append(s[:i], append([]T{x}, s[i:]...)...)
Ici, T est le type des éléments du slice. Cette méthode fonctionne ainsi :
- On prend une tranche du début jusqu’à la position
i(sans inclurei) :s[:i] - On crée un slice avec un seul élément
x:[]T{x} - On prend une tranche de la position
ijusqu’à la fin :s[i:] - L’
appendinterne combine l’élément à insérer et la queue du slice - L’
appendexterne ajoute tout au début
Exemple :
s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// s devient : [1 2 3 4 5]
C’est la méthode standard pour insérer au milieu d’un slice en Go.