To iterate over a map of maps in Go, you can use nested loops. The outer loop iterates over the outer map, and the inner loop iterates over the inner map.
We can iterate over a map of maps in Go where both the outer and inner maps use integers for keys and values. This example demonstrates using nested loops to print each key-value pair.
For example,
outerMap
.package main
import "fmt"
func main() {
// Declare and initialize a map of maps
outerMap := map[int]map[int]int{
1: {1: 10, 2: 20, 3: 30},
2: {4: 40, 5: 50, 6: 60},
}
// Iterate over the map of maps
fmt.Println("Iterating over map of maps with integer keys and values:")
for outerKey, innerMap := range outerMap {
fmt.Printf("Outer key: %d\n", outerKey)
for innerKey, value := range innerMap {
fmt.Printf(" Inner key: %d, value: %d\n", innerKey, value)
}
}
}
Iterating over map of maps with integer keys and values: Outer key: 1 Inner key: 1, value: 10 Inner key: 2, value: 20 Inner key: 3, value: 30 Outer key: 2 Inner key: 4, value: 40 Inner key: 5, value: 50 Inner key: 6, value: 60
We can iterate over a map of maps in Go where the outer map uses strings for keys and the inner maps use integers for keys and strings for values. This example demonstrates using nested loops to print each key-value pair.
For example,
outerMap
with mixed key and value types.package main
import "fmt"
func main() {
// Declare and initialize a map of maps
outerMap := map[string]map[int]string{
"first": {1: "one", 2: "two", 3: "three"},
"second": {4: "four", 5: "five", 6: "six"},
}
// Iterate over the map of maps
fmt.Println("Iterating over map of maps with mixed key and value types:")
for outerKey, innerMap := range outerMap {
fmt.Printf("Outer key: %s\n", outerKey)
for innerKey, value := range innerMap {
fmt.Printf(" Inner key: %d, value: %s\n", innerKey, value)
}
}
}
Iterating over map of maps with mixed key and value types: Outer key: first Inner key: 1, value: one Inner key: 2, value: two Inner key: 3, value: three Outer key: second Inner key: 4, value: four Inner key: 5, value: five Inner key: 6, value: six
We can iterate over a map of maps in Go where both the outer and inner maps use strings for keys and float64 for values. This example demonstrates using nested loops to print each key-value pair.
For example,
outerMap
with strings for keys and float64 for values.package main
import "fmt"
func main() {
// Declare and initialize a map of maps
outerMap := map[string]map[string]float64{
"group1": {"A": 1.1, "B": 2.2, "C": 3.3},
"group2": {"D": 4.4, "E": 5.5, "F": 6.6},
}
// Iterate over the map of maps
fmt.Println("Iterating over map of maps with string keys and float64 values:")
for outerKey, innerMap := range outerMap {
fmt.Printf("Outer key: %s\n", outerKey)
for innerKey, value := range innerMap {
fmt.Printf(" Inner key: %s, value: %.1f\n", innerKey, value)
}
}
}
Iterating over map of maps with string keys and float64 values: Outer key: group1 Inner key: A, value: 1.1 Inner key: B, value: 2.2 Inner key: C, value: 3.3 Outer key: group2 Inner key: D, value: 4.4 Inner key: E, value: 5.5 Inner key: F, value: 6.6
In this tutorial, we learned How to Iterate Over a Map of Maps in Go language with well detailed examples.