Sobes.tech
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 :

  1. On prend une tranche du début jusqu’à la position i (sans inclure i) : s[:i]
  2. On crée un slice avec un seul élément x : []T{x}
  3. On prend une tranche de la position i jusqu’à la fin : s[i:]
  4. L’append interne combine l’élément à insérer et la queue du slice
  5. L’append externe 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.