Go con Ejemplos: Arreglos

En Go, un arreglo es una secuencia numerada de elementos con un tamaño fijo.

package main
import "fmt"
func main() {

Aquí estamos creando un arreglo a que contendrá exactamente 5 ints. El tipo de los elementos y el tamaño son parte del tipo del arreglo. Por defecto un arreglo es de valor cero, lo que para los valores de tipo int significa 0s.

    var a [5]int
    fmt.Println("emp:", a)

Podemos establecer el valor de un elemento utilizando la sintaxis array[index] = value, y obtener el valor de un elemento utilizando array[index].

    a[4] = 100
    fmt.Println("set:", a)
    fmt.Println("get:", a[4])

La sentencia len regresa el tamaño de un arreglo.

    fmt.Println("len:", len(a))

Usa esta sintaxis para declarar e inicializar un arreglo en una línea.

    b := [5]int{1, 2, 3, 4, 5}
    fmt.Println("dcl:", b)

Los arreglos son unidimensionales, pero puedes componer tipos para construir estructuras de datos multidimensionales.

    var twoD [2][3]int
    for i := 0; i < 2; i++ {
        for j := 0; j < 3; j++ {
            twoD[i][j] = i + j
        }
    }
    fmt.Println("2d: ", twoD)
}

Nota que los arreglos aparecen de la forma [v1 v2 v3 ...] cuando se muestran con fmt.Println.

$ go run arrays.go
emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
len: 5
dcl: [1 2 3 4 5]
2d:  [[0 1 2] [1 2 3]]

Normalmente es más común ver slices que arreglos en un programa típico de Go. Veamos lo que son los slices a continuación.

Siguiente ejemplo: Slices.