Menu
Coddy logo textTech

Aggiungere ed eliminare elementi

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

Le map in Golang si comportano proprio come array e slice. Per aggiungere un nuovo elemento alla map, usiamo la stessa sintassi di un array, tranne per il fatto che nella map specifichiamo sia la chiave sia il valore. Per esempio, supponiamo di avere una map come questa:

var books = map[string]int{
    "Python":     1,
    "JavaScript": 2,
    "Rust":       3,
}

Per aggiungere un nuovo elemento, facciamo così:

books["Golang"] = 4

E se stampiamo la map, dovremmo vedere Golang:

map[Golang:4 JavaScript:2 Python:1 Rust:3]

Potresti notare che le map non ordinano gli elementi. Questo perché alle map non interessa molto l'ordine degli elementi; privilegiano la rapidità nel recuperare i risultati.

Nota che quando aggiungiamo nuovi elementi alla map, dobbiamo usare lo stesso tipo del tipo di valore della map. 

Per esempio, non possiamo fare così:

books["Golang"] = "Learn Golang"

Perché il valore nella map originale è di tipo intero, non di tipo stringa.

Ora che abbiamo imparato ad aggiungere e ottenere un elemento, cosa succede se dobbiamo eliminare un elemento dalla map?

A questo scopo, esiste una funzione integrata chiamata delete. La sintassi è la seguente:

Supponiamo di dover eliminare il primo elemento, ovvero "Python":

delete(books, "Python")

Usiamo la parola chiave delete e, tra parentesi, inseriamo il nome della map e la chiave che vogliamo eliminare. Nel nostro caso, è "Python".

challenge icon

Sfida

Facile

Nel codice dato, definiamo una mappa con 6 elementi. Esegui i seguenti passaggi:

  • Aggiungi un nuovo elemento con la chiave 6 e il valore "orange".
  • Elimina l'elemento con la chiave 10.
  • Usando un ciclo for, stampa la mappa in ordine partendo da 1 fino alla fine.

Provalo tu

package main

import 	"fmt"


func main() {
	// Definisci una map con 6 elementi; non modificarla! 
	fruits := map[int]string{
		1: "apple",
		2: "banana",
		3: "cherry",
		4: "date",
		5: "elderberry",
		10: "fig",
	}

	// Aggiungi un nuovo elemento con chiave 6 e valore "orange"
	 

	// Elimina l'elemento con chiave 10
 

	// Usando un ciclo for, stampa la map in ordine partendo da 1 fino alla fine

}

Tutte le lezioni di Slice e mappe in GoLang

Esercitati da solo: Compilatore Go online