44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
// Em Go, um _array_ é uma sequência numerada de elementos
|
|
// de um tamanho específico. Tipicamente, [slices](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)
|
|
}
|