package main
import (
"fmt"
"maps"
"slices"
)
func main() {
m := map[string]int{"a": 1, "b": 2, "c": 3}
// Collect keys / values into slices (order NOT guaranteed)
keys := slices.Collect(maps.Keys(m)) // Go 1.23+ iter pattern
values := slices.Collect(maps.Values(m))
slices.Sort(keys)
fmt.Println(keys, values)
// Iterate deterministically by sorting keys first
for _, k := range keys {
fmt.Printf("%s=%d\n", k, m[k])
}
// Deep copy
cloned := maps.Clone(m)
cloned["d"] = 4
fmt.Println(m["d"]) // 0 — original untouched
fmt.Println(cloned["d"]) // 4
// Compare two maps
fmt.Println(maps.Equal(m, m)) // true
}
Create a free account and build your private vault. Share publicly whenever you want.