Vai al contenuto principale
Pubblicato il

Array in Go

Condividi:

Introduzione

Gli array sono una parte fondamentale di molti linguaggi di programmazione e Go non fa eccezione. Comprendere gli array apre la porta a strutture dati più avanzate e algoritmi più complessi.

Caratteristiche degli Array in Go

In Go, un array è una sequenza di elementi dello stesso tipo, in cui ogni elemento può essere identificato tramite un indice. Ecco alcune caratteristiche importanti:

  1. Dimensione Fissa: Una volta dichiarato un array, la sua dimensione non può essere modificata.
  2. Indice a Base Zero: Il primo elemento ha indice 0, il secondo ha indice 1, e così via.
  3. Allocazione in Memoria: Gli elementi di un array sono archiviati in modo contiguo nella memoria.

Dichiarare e Inizializzare Array

// Dichiarare un array di interi con 3 elementi
var numeri [3]int
// Inizializzare un array durante la dichiarazione
giorni := [7]string{"Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"}

Accedere e Modificare Elementi

Come visto nell'esempio precedente, è possibile accedere e modificare gli elementi dell'array usando l'indice:

nomi := [3]string{"Giovanni", "Maria", "Anna"}
nomi[1] = "Marianna" // Modifica il secondo elemento

Iterare sugli Array

Usando il ciclo for in combinazione con la funzione range, è possibile iterare su tutti gli elementi di un array:

for i, valore := range nomi {
	fmt.Printf("Nome %d: %s\n", i, valore)
}

Esempio Pratico

package main

import "fmt"

func main() {
	var colori [5]string

	colori[0] = "Blu"
	colori[1] = "Verde"
	colori[2] = "Giallo"
	colori[3] = "Rosso"
	colori[4] = "Arancione"

	colori = [...]string { "Bianco", "Verde", "Giallo", "Rosso", "Arancione" }

	fmt.Printf("Numero di colori: %d\n", len(colori)) // Numero di colori: 5
	fmt.Printf("Primo colore: %s\n", colori[0]) // Primo colore: Blu
	fmt.Printf("Ultimo colore: %s", colori[len(colori) - 1]) // Ultimo colore: Arancione
}

Consigli e Trucchi

  1. Slicing: Go supporta lo slicing, che consente di creare un sottoinsieme di un array esistente. Questo è utile quando si vuole lavorare solo con una parte dell'array.
  2. Funzione len(): Come dimostrato, len() restituisce il numero di elementi nell'array.
  3. Array vs. Slice: In Go, gli slice sono più flessibili degli array e vengono usati più comunemente. Tuttavia, gli array hanno la loro utilità, soprattutto quando il numero di elementi è noto in anticipo.

Conclusione

Gli array sono uno strumento potente in Go, che permette di archiviare e manipolare insiemi di dati in modo efficiente. Padroneggiare gli array è essenziale per qualsiasi programmatore Go e costituisce la base per strutture dati più avanzate.

Happy coding!