|
Mapy jsou asociativní datové typy zabudované do Go. (Někdy v jiných programovacích jazycích se jim také říká hashe nebo slovníky). |
|
package main
|
|
import "fmt"
|
|
func main() {
|
|
|
Pro vytvoření prázdné mapy, použijte zabudovaný
příkaz |
m := make(map[string]int)
|
|
Nastavte dvojice klíč/hodnota s použitím typického
zápisu
|
m["k1"] = 7
m["k2"] = 13
|
|
Vypsání např. s |
fmt.Println("mapa:", m)
|
|
Hodnotu můžeme získat pro daný klíč zápisem
|
v1 := m["k1"]
fmt.Println("v1: ", v1)
|
|
Zabudovaná funkce |
fmt.Println("len:", len(m))
|
|
Zabudovaná funkce |
delete(m, "k2")
fmt.Println("mapa:", m)
|
|
Volitelná druhá návratová hodnota během získávání
hodnoty z mapy určuje jestli byl klíč v mapě
nalezen. Může být použita pro rozlišení mezi
chybějícími klíči a klíči s nulovými hodnotami
jako |
_, nal := m["k2"]
fmt.Println("nalezen:", nal)
|
|
Také můžete deklarovat a inicializovat novou mapu na stejném řádku s takovouhle syntaxí: |
n := map[string]int{"foo": 1, "bar": 2}
fmt.Println("mapa:", n)
}
|
|
Všimněte si, že mapy se vypisují ve tvaru |
$ go run maps.go
mapa: map[k1:7 k2:13]
v1: 7
len: 2
mapa: map[k1:7]
nalezen: false
mapa: map[bar:2 foo:1]
|
Další příklad: Range.