Slices en Go
En Go, los slices son una estructura de datos dinámica que permiten almacenar una secuencia de elementos de un mismo tipo. A diferencia de los arrays, la longitud de un slice puede variar durante la ejecución del programa.
La sintaxis para crear un slice es la siguiente:
nombre_slice := make([]tipo, longitud, capacidad)
Lenguaje del código: Go (go)
Donde nombre_slice
es el nombre del slice, tipo
es el tipo de datos que contendrá el slice, longitud
es la cantidad de elementos que se pueden almacenar inicialmente en el slice y capacidad
es la cantidad máxima de elementos que se pueden almacenar en el slice.
Crear Slices en Go
Por ejemplo, para crear un slice de tipo int
con una longitud inicial de 3
elementos y una capacidad máxima de 5
elementos:
mi_slice := make([]int, 3, 5)
Lenguaje del código: Go (go)
En este ejemplo, se crea un slice llamado mi_slice
de tipo int
con una longitud inicial de 3
elementos y una capacidad máxima de 5
elementos.
Longitud y capacidad de Slices en Go
La longitud de un slice se puede obtener utilizando la función len() y la capacidad del slice se puede obtener utilizando la función cap().
Por ejemplo, para obtener la longitud y la capacidad de mi_slice
:
fmt.Println(len(mi_slice)) // Imprime la longitud del slice: 3
fmt.Println(cap(mi_slice)) // Imprime la capacidad del slice: 5
Lenguaje del código: Go (go)
En este ejemplo, se utiliza la función len() para imprimir la longitud de mi_slice
, que es 3
elementos, y la función cap() para imprimir la capacidad de mi_slice
, que es 5
elementos.
Agregar elementos a un Slice en Go
Para agregar elementos a un slice, se utiliza la función append(). La sintaxis para agregar un elemento a un slice es la siguiente:
nombre_slice = append(nombre_slice, valor)
Lenguaje del código: Go (go)
Donde nombre_slice
es el nombre del slice, valor
es el nuevo valor que se desea agregar al slice.
Por ejemplo, para agregar un nuevo elemento con valor 10
a mi_slice
:
mi_slice = append(mi_slice, 10)
Lenguaje del código: Go (go)
En este ejemplo, se utiliza la función append() para agregar un nuevo elemento con valor 10
a mi_slice
. La longitud de mi_slice
ahora es de 4
elementos.
Es importante tener en cuenta que la capacidad del slice se ajustará automáticamente según sea necesario cuando se agregan elementos al slice.
Si se excede la capacidad máxima del slice, se creará un nuevo slice con capacidad mayor y se copiarán los elementos del slice original al nuevo slice.