Fondamenti di Go

Go Maps

Store values under keys: add, read, check, delete and loop in a fixed order.

  • Principiante
  • 3 min di lettura
  • 1 esempio eseguibile
Cosa imparerai
  • Creating and updating
  • The value, ok form
  • Sorting the keys
stock
"apple"5
"pear"5
"plum"1

Values found by key

A map stores values under keys, so you can find a value quickly by its key. It is Go's version of a dictionary or hash table.

Reading a missing key returns the zero value, so the second result, found, tells you whether the key exists. delete removes a key. A map has no fixed order, so the keys are collected and sorted before printing.

Punti chiave

  1. A missing key reads as the zero value.
  2. value, found := m[key] tells you if it exists.
  3. Map order is random: sort the keys.

Esempio Go eseguibile

Go
Esegui il codice →
main.go
package main

import (
	"fmt"
	"sort"
)

func main() {
	stock := map[string]int{"apple": 3, "pear": 5}
	stock["plum"] = 1
	stock["apple"] += 2

	fmt.Println(stock["apple"], len(stock))

	count, found := stock["kiwi"]
	fmt.Println(count, found)

	delete(stock, "pear")

	names := make([]string, 0, len(stock))
	for name := range stock {
		names = append(names, name)
	}
	sort.Strings(names) // map order is random, so sort the keys
	for _, name := range names {
		fmt.Println(name, stock[name])
	}
}
Crea un pulsante Run per questo esempio Risultato dell'esecuzione
5 3
0 false
apple 5
plum 1

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.

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