// Created on savesnippets.com · https://savesnippets.com/YaGM8QXKvMWXcb 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 }