Golang : Iterate map
Got a question by a friend asking how to how to iterate through a map in Golang today. Thought that I have covered this initially with the tutorial on how to iterate over the values inside array., but then it is not similar.
In this short tutorial, we will learn how to iterate the elements inside a map. In this code example below, we will learn how to combine maps with the help of interface{}
(optional) and then iterate through the maps.
package main
import "fmt"
func main() {
type Map1 map[string]interface{}
type Map2 map[string]string
// because Map1 is type interface, it can handle 3 maps of Map2
m := Map1{"1": Map2{"position": "first"}, "2": Map2{"position": "second"}, "3": Map2{"position": "third"}, "4": Map2{"position": "fourth"}}
// print out all the elements in one line
fmt.Println("m:", m)
// iterate the map and print out the element one by one
for key, value := range m {
fmt.Println("key:", key, "value:", value)
}
// NOTE : maps in golang has no guaranteed order
}
Hope this tutorial can be helpful in solving or assisting your Golang learning process.
See also : Golang : How to iterate over a []string(array)
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+14.4k Golang : How to convert(cast) IP address to string?
+17.8k Golang : convert int to string
+4.5k Golang : If else example and common mistake
+2.7k Java : Get FX sentiment from website example
+8.5k Facebook : Getting the friends list with PHP return JSON format
+11.4k Elastic Search : Return all records (higher than default 10)
+10.8k Golang : Clean formatting/indenting or pretty print JSON result
+19.1k Nginx + FastCGI + Go Setup.
+10k Golang : Create S3 bucket with official aws-sdk-go package
+9.5k Golang : How to unmarshal JSON inner/nested value and assign to specific struct?
+9k Golang : Setting variable value with ldflags
+5.1k Golang : How to verify input is rune?