Go Em Exemplos: Arrays

Em Go, um array é uma sequência numerada de elementos de um tamanho específico. Tipicamente, slices são muito mais comuns; arrays são úteis em alguns cenários específicos.

package main
import "fmt"
func main() {

Aqui é criado um array a com capacidade de armazenar exatamente 5 inteiros. O tipo de elemento que ele irá armazenar (int) e seu tamanho (5) são partes do tipo do array. Neste caso, o array tem valores padrão zero.

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

É possível alterar o valor de um índice do array utilizando a sintaxe array[índice] = valor, bem como selecionar um valor com array[índice].

    a[4] = 100
    fmt.Println("índice 4 alterado:", a)
    fmt.Println("valor índice 4:", a[4])

A função nativa len retorna o tamanho de um array.

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

Para declarar a inicializar um array em uma linha, é possível usar esta sintaxe.

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

Arrays, via de regra são unidimensionais, mas é possível compor tipos para formar arrays multidimensionais.

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

Note que arrays aparecem na forma [v1 v2 v3 ...] quando exibidos com fmt.Println.

$ go run arrays.go
vazio: [0 0 0 0 0]
índice 4 alterado: [0 0 0 0 100]
valor índice 4: 100
len: 5
array inicializado:: [1 2 3 4 5]
bi-dimensional:  [[0 1 2] [1 2 3]]

Próximo exemplo: Slices.