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
+8.7k Golang : Random integer with rand.Seed() within a given range
+7.3k Android Studio : How to detect camera, activate and capture example
+25.6k Golang : Daemonizing a simple web server process example
+24.4k Golang : GORM read from database example
+9k Golang : Serving HTTP and Websocket from different ports in a program example
+5.4k Golang : Get S3 or CloudFront object or file information
+6.9k Golang : Find the shortest line of text example
+15.9k Golang : Get sub string example
+12k Golang : convert(cast) string to integer value
+5.5k PHP : Fix Call to undefined function curl_init() error
+25.9k Golang : Convert IP address string to long ( unsigned 32-bit integer )