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
+12k Linux : How to install driver for 600Mbps Dual Band Wifi USB Adapter
+7.4k Golang : Rename part of filename
+8.6k Golang : Find duplicate files with filepath.Walk
+9.8k Golang : Convert octal value to string to deal with leading zero problem
+15.4k Golang : Validate hostname
+4.5k Linux : sudo yum updates not working
+13.9k Golang : Compress and decompress file with compress/flate example
+7.9k Golang : Sort words with first uppercase letter
+5.2k Golang : Get FX sentiment from website example
+8.1k Golang : Get final or effective URL with Request.URL example
+8.1k Prevent Write failed: Broken pipe problem during ssh session with screen command
+28.6k Golang : Detect (OS) Operating System