Menu
Coddy logo textTech

Slice vs array

Lezione 2 di 21 del corso Slice e mappe in GoLang di Coddy.

In altri linguaggi di programmazione, incontriamo spesso array dinamici. In Go, sono chiamati slice e ci permettono di aggiungere o rimuovere elementi in modo dinamico. Tuttavia, è importante notare che una slice non memorizza direttamente gli elementi; funge invece da finestra su un array.

Ora esploriamo la differenza tra una slice e un array con un esempio. Consideriamo un array con tre elementi:

arr := [3]string{"Python", "Go", "Rust"}

Come sappiamo, un array è un tipo di raccolta di dimensione fissa, quindi è impossibile aggiungere elementi. Se proviamo ad aggiungere un nuovo elemento, si verificheranno degli errori.

È qui che entrano in gioco le slice, per superare questa limitazione. Vediamolo con un esempio:

var books = []string{"SQL", "Java", "C++"}

Come puoi vedere, definiamo la slice <strong>books</strong> nello stesso modo di un normale array, con l'unica differenza che non ne definiamo la lunghezza.

Questo ci permette di aggiungere o rimuovere elementi dinamicamente durante l'esecuzione, un'operazione impossibile con gli array.

Accedere agli elementi di una slice è simile a farlo negli array e si utilizzano gli indici:

fmt.Println(books[1]) // Java

In Go, le slice offrono flessibilità nel lavorare con le raccolte, consentendo modifiche dinamiche, a differenza degli array, che hanno una struttura fissa.

challenge icon

Sfida

Facile
  • Definisci una slice con i seguenti elementi: "Learn Go", "Learn Python", "Learn Java", "Coddy.tech" in sequenza.
  • Stampa "Learn Go" e "Coddy.tech" sullo schermo usando gli indici.
  • Puoi dare alla slice il nome che preferisci.

 

Provalo tu

package main

import (
	"fmt"
)

func main() {
    // Il tuo codice qui
    
}

Tutte le lezioni di Slice e mappe in GoLang

Esercitati da solo: Compilatore Go online