Mutating Maps

Here’s your map toolkit:

Insert or update:

m[key] = elem

Retrieve:

elem = m[key]

Delete:

delete(m, key)

Check if a key exists using the two-value form:

elem, ok = m[key]

If key is in the map, ok is true. If not, ok is false and elem is the zero value for that type.

If elem and ok aren’t declared yet, use :=:

elem, ok := m[key]

Try it: Delete the "Answer" key and then check whether it’s present — watch ok go false.

package main

import "fmt"

func main() {
	m := make(map[string]int)

	m["Answer"] = 42
	fmt.Println("The value:", m["Answer"])

	m["Answer"] = 48
	fmt.Println("The value:", m["Answer"])

	delete(m, "Answer")
	fmt.Println("The value:", m["Answer"])

	v, ok := m["Answer"]
	fmt.Println("The value:", v, "Present?", ok)
}