Go Tutorials

Go Programs

How to Iterate Over Keys in a Map in Go


How to Iterate Over Keys in a Map in Go ?

Answer

To iterate over keys in a map in Go, you can use a range-based for loop. This allows you to access each key in the map.



✐ Examples

1 Iterating Over Keys Using Range-Based For Loop

We can iterate over keys in a map in Go using a range-based for loop, which provides a convenient syntax for iterating over all keys in the map.

For example,

  1. We start by declaring and initializing a map named myMap with some key-value pairs. In this example, the map has string keys and integer values.
  2. We use a range-based for loop to iterate over the map. The loop extracts the key from each key-value pair in the map.
  3. We print each key to the console using the fmt.Println function to verify that we are iterating over all keys.

Go Program

package main

import "fmt"

func main() {
    // Declare and initialize a map
    myMap := map[string]int{
        "one": 1,
        "two": 2,
        "three": 3,
    }

    // Iterate over keys using range-based for loop
    for key := range myMap {
        fmt.Println(key)
    }
}

Output

one
two
three

2 Iterating Over Keys and Values Using Range-Based For Loop

We can iterate over keys and values in a map in Go using a range-based for loop, which provides a way to access both keys and values.

For example,

  1. We start by declaring and initializing a map named myMap with some key-value pairs. In this example, the map has string keys and integer values.
  2. We use a range-based for loop to iterate over the map. The loop extracts both the key and value from each key-value pair in the map.
  3. We print each key and its corresponding value to the console using the fmt.Println function to verify that we are iterating over all keys and values.

Go Program

package main

import "fmt"

func main() {
    // Declare and initialize a map
    myMap := map[string]int{
        "one": 1,
        "two": 2,
        "three": 3,
    }

    // Iterate over keys and values using range-based for loop
    for key, value := range myMap {
        fmt.Println(key, value)
    }
}

Output

one 1
two 2
three 3

3 Storing and Iterating Over Keys Separately

We can store keys in a separate slice and then iterate over the slice in Go, which provides a way to work with keys independently of their values.

For example,

  1. We start by declaring and initializing a map named myMap with some key-value pairs. In this example, the map has string keys and integer values.
  2. We declare a slice named keys to store the keys from the map.
  3. We use a range-based for loop to iterate over the map and append each key to the keys slice.
  4. We use another range-based for loop to iterate over the keys slice and print each key to the console using the fmt.Println function to verify that we have stored all keys separately.

Go Program

package main

import "fmt"

func main() {
    // Declare and initialize a map
    myMap := map[string]int{
        "one": 1,
        "two": 2,
        "three": 3,
    }

    // Declare a slice to store the keys
    var keys []string

    // Store keys in the slice
    for key := range myMap {
        keys = append(keys, key)
    }

    // Iterate over the keys slice
    for _, key := range keys {
        fmt.Println(key)
    }
}

Output

one
two
three

Summary

In this tutorial, we learned How to Iterate Over Keys in a Map in Go language with well detailed examples.




More Go Maps Tutorials

  1. How to create an Empty Map in Go ?
  2. How to create a Map with Initial Key-Value Pairs in Go ?
  3. How to Print a Map in Go ?
  4. How to Add a Key-Value Pair to a Map in Go ?
  5. How to Set a Default Value for a Key in a Map in Go ?
  6. How to Update the Value for a Key in a Map in Go ?
  7. How to Check if a Map is Empty in Go ?
  8. How to Check if a Key Exists in a Map in Go ?
  9. How to Check if a Value Exists in a Map in Go ?
  10. How to Get the Value Associated with a Key in a Map in Go ?
  11. How to Remove a Key-Value Pair from a Map in Go ?
  12. How to Remove Key-Value Pairs from a Map Based on Values in Go ?
  13. How to Clear All Key-Value Pairs from a Map in Go ?
  14. How to Iterate Over Keys in a Map in Go ?
  15. How to Iterate Over Values in a Map in Go ?
  16. How to Iterate Over Entries (Key-Value Pairs) in a Map in Go ?
  17. How to Get the Size (Number of Key-Value Pairs) of a Map in Go ?
  18. How to Convert a Map to an Array of Keys in Go ?
  19. How to Convert a Map to an Array of Values in Go ?
  20. How to Convert a Map to an Array of Key-Value Pairs in Go ?
  21. How to Merge Two Maps in Go ?
  22. How to Copy a Map in Go ?
  23. How to Check if Two Maps are Equal in Go ?
  24. How to Sort a Map by Keys in Go ?
  25. How to Sort a Map by Values in Go ?
  26. How to Filter a Map Based on Keys in Go ?
  27. How to Filter a Map Based on Values in Go ?
  28. How to Reduce Values in a Map to a Single Value in Go ?
  29. How to Convert an Array of Key-Value Pairs to a Map in Go ?
  30. How to Convert a Map to a JSON String in Go ?
  31. How to Convert a JSON String to a Map in Go ?
  32. How to Swap Keys and Values in a Map in Go ?
  33. How to Create a Map of Maps in Go ?
  34. How to Iterate Over a Map of Maps in Go ?