Go dispone de Slice, es un wrapper (un envoltorio) para poder hacer operaciones con un array sin modificarlo.
Os pongo un ejemplo de como crear un slice:
a := [5]int{76, 77, 78, 79, 80}
var b []int = a[1:4] // crea un slice de a[1] to a[3]
Recuera que un slice nunca almacena datos propios, hace referencia a los datos de un array, cualquier modificación que se haga en esos datos modificará los datos del array.
Puedes crear un slice con todos los elementos de un array:
a := [5]int{76, 77, 78, 79, 80}
slice1 := a[:]
Los arrays no admiten que se puedan agregar nuevos elementos, pero los slices sí con la instrucción append:
slice1 = append(slice1,150)
Los slices pueden ser representados de manera interna como una estructura:
type slice struct {
Length int
Capacity int
ZerothElement *byte
}
Los slices también pueden ser multidimensionales.
El uso de slices y arrays compromete mucha memoria, debes usarlos con cuidado sin abusar de ellos y limpiando los que no utilices.
Os pongo un ejemplo de como crear un slice:
a := [5]int{76, 77, 78, 79, 80}
var b []int = a[1:4] // crea un slice de a[1] to a[3]
Recuera que un slice nunca almacena datos propios, hace referencia a los datos de un array, cualquier modificación que se haga en esos datos modificará los datos del array.
Puedes crear un slice con todos los elementos de un array:
a := [5]int{76, 77, 78, 79, 80}
slice1 := a[:]
Los arrays no admiten que se puedan agregar nuevos elementos, pero los slices sí con la instrucción append:
slice1 = append(slice1,150)
Los slices pueden ser representados de manera interna como una estructura:
type slice struct {
Length int
Capacity int
ZerothElement *byte
}
Los slices también pueden ser multidimensionales.
El uso de slices y arrays compromete mucha memoria, debes usarlos con cuidado sin abusar de ellos y limpiando los que no utilices.
Comentarios