Junior — Middle
¿Se puede modificar el contenido de un array pasado como slice durante la ejecución del programa?
sobes.tech AI
Respuesta de la IA
Sí, el contenido de un array pasado como slice puede modificarse durante la ejecución del programa. Un slice en Go es una estructura que contiene un puntero a un array, una longitud y una capacidad. Los cambios en los elementos del slice se reflejan en el array original, ya que el slice apunta a sus datos.
Ejemplo:
package main
import "fmt"
func modifySlice(s []int) {
s[0] = 100
}
func main() {
arr := [3]int{1, 2, 3}
slice := arr[:]
modifySlice(slice)
fmt.Println(arr) // Imprimirá: [100 2 3]
}
Por lo tanto, modificar un slice también modifica el array original.