🥇 Slices

🍿 ¿Qué son los slices en Go?

Como ya mencionamos, un arreglo es una colección de valores del mismo tipo que tiene una longitud fija y no puede tener un método para cambiar su tamaño.

Por otro lado un slice es una abstracción de un arreglo, es decir que utiliza un arreglo tras bambalinas para funcionar, pero provee ciertas funciones adicionales.

🍿 ¿Qué operaciones se pueden hacer con los slices en Go?

| Operación | Descripción | | append | Agrega un nuevo elemento al slice. | | len | Obtiene el tamaño de un slice. | | cap | Retorna la capacidad del arreglo en uso por parte del slice. | | copy | Realiza una copia de todos el contenido del slice sobre otro. |

🍿 ¿Cómo extraer una parte de un slice?

Para extraer una parte de un slice se utiliza la sintáxis [inicio:fin], en donde inicio es índice a partir del cual se empiezan a obtener elementos para extraer y límite de donde extraer. Este comportamiento del límite es non-inclusive, es decir que si especificamos [0:9] se extraerán los valores del 0 al 8.

🍿 Ejemplo de como insertar elementos en un slice utilizando un loop for

package main

import "fmt"

func main() {

    // creamos un arreglo vacio llamado miSlice
	miSlice := []int{}

    // agregamos 100 valores al arreglo usando la funcion append
	for i := 0; i < 100; i += 1 {
		miSlice = append(miSlice, i+1)
	}

    // imprimimos el contenido del arreglo
	fmt.Printf("%+v", miSlice)

}

Salida.

[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100]