Junior — Middle
¿Cómo insertar un nuevo elemento en la parte central de un array dinámico (layers)?
sobes.tech AI
Respuesta de la IA
En Go, para insertar un nuevo elemento en medio de un slice, es necesario crear un nuevo slice combinando las partes antes y después de la posición de inserción, y el elemento a insertar. Por ejemplo, para insertar el elemento x en la posición i del slice s:
s = append(s[:i], append([]T{x}, s[i:]...)...)
Aquí, T es el tipo de los elementos del slice. Este método funciona así:
- Tomamos un segmento desde el inicio hasta la posición
i(sin incluiri):s[:i] - Creamos un slice con un solo elemento
x:[]T{x} - Tomamos un segmento desde la posición
ihasta el final:s[i:] - El
appendinterno combina el elemento a insertar y el cola del slice - El
appendexterno añade todo al principio
Ejemplo:
s := []int{1, 2, 4, 5}
x := 3
i := 2
s = append(s[:i], append([]int{x}, s[i:]...)...)
// s ahora es: [1 2 3 4 5]
Este es el método estándar para insertar en medio de un slice en Go.