Materi
Map memetakan kunci ke nilai: map[string]int memetakan teks ke bilangan bulat. Map dibuat dengan literal, stok := map[string]int{"kopi": 40, "teh": 25}, atau dengan make(map[string]int). Nilai dibaca dan diisi dengan kurung siku, stok["gula"] = 10, dihapus dengan delete(stok, "teh"), dan len(stok) memberi jumlah pasangannya.
Membaca kunci yang tidak ada tidak menimbulkan galat; hasilnya nilai nol tipe nilainya, misalnya 0. Untuk membedakan stok yang memang 0 dari barang yang tidak terdaftar, pakai bentuk dua nilai: n, ada := stok["susu"]. Variabel kedua bernilai true bila kunci itu ada. Pola ini disebut comma ok.
Urutan range pada map tidak ditentukan dan sengaja dibuat berubah-ubah antarjalan. Program yang butuh urutan tetap mengumpulkan kuncinya ke slice, mengurutkannya dengan sort.Strings, lalu membaca map sesuai urutan itu. fmt.Println(stok) adalah pengecualian: fmt sengaja mencetak map terurut menurut kuncinya.
package main
import "fmt"
func main() {
stok := map[string]int{"kopi": 40, "teh": 25}
stok["gula"] = 10
delete(stok, "teh")
n, ada := stok["susu"]
fmt.Println(stok, len(stok), n, ada) // map[gula:10 kopi:40] 2 0 false
}