How to Merge Two Maps in Go - Step by Step Examples



How to Merge Two Maps in Go ?

Answer

To merge two maps in Go, you can use a for loop to iterate over one map and add its key-value pairs to the other map. This method provides a straightforward way to combine the contents of two maps.



✐ Examples

1 Merging Two Maps Using a for Loop

We can merge two maps in Go by iterating over the second map and adding each key-value pair to the first map using a for loop.

For example,

  1. We start by declaring and initializing two maps named map1 and map2 with some key-value pairs. In this example, both maps have string keys and integer values.
  2. We use a for loop to iterate over map2 and add each key-value pair to map1.
  3. We print the merged map to the console using the fmt.Println function to verify the merge.

Go Program

package main

import "fmt"

func main() {
    // Declare and initialize two maps
    map1 := map[string]int{"one": 1, "two": 2}
    map2 := map[string]int{"three": 3, "four": 4}

    // Merge map2 into map1
    for key, value := range map2 {
        map1[key] = value
    }

    // Print the merged map
    fmt.Println("Merged Map:", map1)
}

Output

Merged Map: map[one:1 two:2 three:3 four:4]

2 Merging Two Maps with Overlapping Keys Using a for Loop

We can merge two maps in Go and handle overlapping keys by iterating over the second map and adding each key-value pair to the first map using a for loop. If a key exists in both maps, the value from the second map will overwrite the value in the first map.

For example,

  1. We start by declaring and initializing two maps named map1 and map2 with some key-value pairs. In this example, both maps have string keys and integer values, and there is an overlapping key.
  2. We use a for loop to iterate over map2 and add each key-value pair to map1, updating the value if the key already exists.
  3. We print the merged map to the console using the fmt.Println function to verify the merge.

Go Program

package main

import "fmt"

func main() {
    // Declare and initialize two maps with overlapping keys
    map1 := map[string]int{"one": 1, "two": 2}
    map2 := map[string]int{"two": 22, "three": 3}

    // Merge map2 into map1, updating values for overlapping keys
    for key, value := range map2 {
        map1[key] = value
    }

    // Print the merged map
    fmt.Println("Merged Map:", map1)
}

Output

Merged Map: map[one:1 two:22 three:3]

3 Merging Two Maps Using a Helper Function

We can create a helper function to merge two maps in Go, which provides a reusable way to combine the contents of two maps.

For example,

  1. We start by declaring and initializing two maps named map1 and map2 with some key-value pairs. In this example, both maps have string keys and integer values.
  2. We define a helper function named mergeMaps that takes two maps as parameters and returns a merged map.
  3. Inside the helper function, we iterate over the second map and add each key-value pair to the first map using a for loop.
  4. We call the helper function with map1 and map2 as arguments and store the result in a variable named mergedMap.
  5. We print the merged map to the console using the fmt.Println function to verify the merge.

Go Program

package main

import "fmt"

func mergeMaps(map1, map2 map[string]int) map[string]int {
    for key, value := range map2 {
        map1[key] = value
    }
    return map1
}

func main() {
    // Declare and initialize two maps
    map1 := map[string]int{"one": 1, "two": 2}
    map2 := map[string]int{"three": 3, "four": 4}

    // Merge the maps using the helper function
    mergedMap := mergeMaps(map1, map2)

    // Print the merged map
    fmt.Println("Merged Map:", mergedMap)
}

Output

Merged Map: map[one:1 two:2 three:3 four:4]

Summary

In this tutorial, we learned How to Merge Two Maps 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 ?