To iterate over entries (key-value pairs) in a map in Go, you can use a range-based for loop. This allows you to access each key-value pair in the map.
We can iterate over entries in a map in Go using a range-based for loop, which provides a convenient syntax for iterating over all key-value pairs in the map.
For example,
myMap
with some key-value pairs. In this example, the map has string keys and integer values.fmt.Println
function to verify that we are iterating over all entries.package main
import "fmt"
func main() {
// Declare and initialize a map
myMap := map[string]int{
"one": 1,
"two": 2,
"three": 3,
}
// Iterate over entries using range-based for loop
for key, value := range myMap {
fmt.Println("Key:", key, "Value:", value)
}
}
Key: one Value: 1 Key: two Value: 2 Key: three Value: 3
We can iterate over keys and values separately in a map in Go using two range-based for loops, which provides a way to work with keys and values independently of each other.
For example,
myMap
with some key-value pairs. In this example, the map has string keys and integer values.keys
and values
to store the keys and values from the map separately.keys
slice and each value to the values
slice.keys
and values
slices and print each key and value to the console using the fmt.Println
function to verify that we have stored all keys and values separately.package main
import "fmt"
func main() {
// Declare and initialize a map
myMap := map[string]int{
"one": 1,
"two": 2,
"three": 3,
}
// Declare slices to store the keys and values
var keys []string
var values []int
// Store keys and values separately
for key, value := range myMap {
keys = append(keys, key)
values = append(values, value)
}
// Iterate over the keys slice
for _, key := range keys {
fmt.Println("Key:", key)
}
// Iterate over the values slice
for _, value := range values {
fmt.Println("Value:", value)
}
}
Key: one Key: two Key: three Value: 1 Value: 2 Value: 3
We can store entries in a separate slice and then iterate over the slice in Go, which provides a way to work with key-value pairs independently of the map.
For example,
myMap
with some key-value pairs. In this example, the map has string keys and integer values.entries
to store the key-value pairs from the map.entries
slice as a struct
containing both the key and value.entries
slice and print each key and value to the console using the fmt.Println
function to verify that we have stored all entries separately.package main
import "fmt"
// Define a struct to store key-value pairs
type entry struct {
key string
value int
}
func main() {
// Declare and initialize a map
myMap := map[string]int{
"one": 1,
"two": 2,
"three": 3,
}
// Declare a slice to store the entries
var entries []entry
// Store entries in the slice
for key, value := range myMap {
entries = append(entries, entry{key, value})
}
// Iterate over the entries slice
for _, e := range entries {
fmt.Println("Key:", e.key, "Value:", e.value)
}
}
Key: one Value: 1 Key: two Value: 2 Key: three Value: 3
In this tutorial, we learned How to Iterate Over Entries (Key-Value Pairs) in a Map in Go language with well detailed examples.