Fundamentos de Go

Go Arrays

A fixed number of values of one type, and why assigning an array copies it.

  • Iniciante
  • 2 min de leitura
  • 1 exemplo executável
O que você vai aprender
  • [5]int and [...]int
  • Arrays are values
  • Arrays of arrays
var scores [5]int
720
01
02
03
644
Items you do not set keep the zero value.

Fixed size, copied on assignment

An array holds a fixed number of values of one type, and its length is part of its type. Arrays are less common than slices in Go, but slices are built on top of them.

[5]int starts with five zeros. [...] lets the compiler count the items. Assigning an array copies every item, so changing copyOfPrimes leaves primes alone. An array of arrays makes a grid.

Pontos-chave

  1. The length is part of the type.
  2. Assigning an array copies every item.
  3. Slices are built on arrays.

Exemplo executável de Go

Go
Executar código →
main.go
package main

import "fmt"

func main() {
	var scores [5]int // fixed size, zero values
	scores[0] = 72
	scores[4] = 64
	fmt.Println(scores, len(scores))

	primes := [...]int{2, 3, 5, 7}
	copyOfPrimes := primes // arrays are values: this copies all items
	copyOfPrimes[0] = 99
	fmt.Println(primes, copyOfPrimes)

	grid := [2][3]int{{1, 2, 3}, {4, 5, 6}}
	fmt.Println(grid[1][2], grid)
}
Gerar um botão Run para este exemplo Resultado da execução
[72 0 0 0 64] 5
[2 3 5 7] [99 3 5 7]
6 [[1 2 3] [4 5 6]]

Pratique

Abra o exemplo no compilador online, mude um valor ou adicione uma linha e tente prever a saída antes de executar. Depois quebre o código de propósito e leia a mensagem do compilador.

Terminou esta lição?

Marque como aprendida para acompanhar seu progresso.

Próxima: Slices →

Pratique com um desafio

Use o conteúdo desta lição para resolver um problema real. Cada desafio roda no navegador, com testes instantâneos e uma revisão por IA.

Todos os desafios