Fondamenti di Go

Go Arrays

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

  • Principiante
  • 2 min di lettura
  • 1 esempio eseguibile
Cosa imparerai
  • [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.

Punti chiave

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

Esempio Go eseguibile

Go
Esegui il codice →
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)
}
Crea un pulsante Run per questo esempio Risultato dell'esecuzione
[72 0 0 0 64] 5
[2 3 5 7] [99 3 5 7]
6 [[1 2 3] [4 5 6]]

Esercitati

Apri l'esempio nel compilatore online, cambia un valore o aggiungi una riga e prova a prevedere l'output prima di eseguirlo. Poi rompi il codice di proposito e leggi il messaggio del compilatore.

Hai finito questa lezione?

Segnala come imparata per tenere traccia dei tuoi progressi.

Prossima: Slices →

Esercitati con una sfida

Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.

Tutte le sfide