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.