Arrays y Slices
Un array tiene un tamaño fijo que es parte de su tipo — [3]int y [5]int son tipos completamente distintos. Los arrays existen en Go, pero se usan mucho menos que los slices en el código cotidiano.
main.go
Pruébalo tú mismo →package main
import "fmt"
func main() {
var grid [3]int
grid[0] = 10
grid[1] = 20
grid[2] = 30
fmt.Println(grid, len(grid))
}Output
[10 20 30] 3
Slices: la colección preferida de Go
Un slice es una vista flexible y creciente sobre un array subyacente — append() añade un elemento (haciendo crecer automáticamente el almacenamiento subyacente si es necesario), y hacer slicing con [start:end] te da una vista sobre un rango sin copiar los datos.
main.go
Pruébalo tú mismo →package main
import "fmt"
func main() {
fruits := []string{"apple", "banana", "cherry"}
fruits = append(fruits, "date")
fmt.Println(fruits)
firstTwo := fruits[0:2]
fmt.Println(firstTwo)
}Output
[apple banana cherry date] [apple banana]
Siguiente: maps — la colección clave-valor integrada de Go, y el idiom comma-ok para comprobar si existe una clave.
Practice exercise
Crea un slice numbers := []int{4, 8, 15, 16}, usa append para agregar 23, luego imprime el slice.