Go Tutorials

Go Programs

How to Swap Keys and Values in a Map in Go


How to Swap Keys and Values in a Map in Go ?

Answer

To swap keys and values in a map in Go, you can iterate over the original map and insert each key-value pair into a new map with the value as the key and the key as the value. This method allows you to create a new map with swapped key-value pairs.



✐ Examples

1 Swapping Keys and Values in a Map of Integers

We can swap keys and values in a map of integers in Go by iterating over the original map and inserting each key-value pair into a new map with the value as the key and the key as the value.

For example,

  1. We start by importing the necessary package: fmt.
  2. We declare and initialize a map of integers named originalMap.
  3. We declare an empty map named swappedMap to store the swapped key-value pairs.
  4. We iterate over the original map using a for loop and insert each key-value pair into the new map with the value as the key and the key as the value.
  5. We print the resulting map to the console to verify the swap.

Go Program

package main

import (
    "fmt"
)

func main() {
    // Declare and initialize a map of integers
    originalMap := map[int]int{
        1: 10,
        2: 20,
        3: 30,
        4: 40,
        5: 50,
    }

    // Declare an empty map to store the swapped key-value pairs
    swappedMap := make(map[int]int)

    // Iterate over the original map and insert each key-value pair into the new map with the value as the key and the key as the value
    for key, value := range originalMap {
        swappedMap[value] = key
    }

    // Print the resulting map
    fmt.Println("Swapped map of integers:")
    for key, value := range swappedMap {
        fmt.Printf("%d: %d\n", key, value)
    }
}

Output

Swapped map of integers:
10: 1
20: 2
30: 3
40: 4
50: 5

2 Swapping Keys and Values in a Map of Strings

We can swap keys and values in a map of strings in Go by iterating over the original map and inserting each key-value pair into a new map with the value as the key and the key as the value.

For example,

  1. We start by importing the necessary package: fmt.
  2. We declare and initialize a map of strings named originalMap.
  3. We declare an empty map named swappedMap to store the swapped key-value pairs.
  4. We iterate over the original map using a for loop and insert each key-value pair into the new map with the value as the key and the key as the value.
  5. We print the resulting map to the console to verify the swap.

Go Program

package main

import (
    "fmt"
)

func main() {
    // Declare and initialize a map of strings
    originalMap := map[string]string{
        "one": "uno",
        "two": "dos",
        "three": "tres",
        "four": "cuatro",
        "five": "cinco",
    }

    // Declare an empty map to store the swapped key-value pairs
    swappedMap := make(map[string]string)

    // Iterate over the original map and insert each key-value pair into the new map with the value as the key and the key as the value
    for key, value := range originalMap {
        swappedMap[value] = key
    }

    // Print the resulting map
    fmt.Println("Swapped map of strings:")
    for key, value := range swappedMap {
        fmt.Printf("%s: %s\n", key, value)
    }
}

Output

Swapped map of strings:
uno: one
dos: two
tres: three
cuatro: four
cinco: five

3 Swapping Keys and Values in a Map of Mixed Types

We can swap keys and values in a map with mixed key and value types in Go by iterating over the original map and inserting each key-value pair into a new map with the value as the key and the key as the value. This example demonstrates swapping keys of type int with values of type string.

For example,

  1. We start by importing the necessary package: fmt.
  2. We declare and initialize a map with mixed types named originalMap.
  3. We declare an empty map named swappedMap to store the swapped key-value pairs.
  4. We iterate over the original map using a for loop and insert each key-value pair into the new map with the value as the key and the key as the value.
  5. We print the resulting map to the console to verify the swap.

Go Program

package main

import (
    "fmt"
)

func main() {
    // Declare and initialize a map with mixed types
    originalMap := map[int]string{
        1: "one",
        2: "two",
        3: "three",
        4: "four",
        5: "five",
    }

    // Declare an empty map to store the swapped key-value pairs
    swappedMap := make(map[string]int)

    // Iterate over the original map and insert each key-value pair into the new map with the value as the key and the key as the value
    for key, value := range originalMap {
        swappedMap[value] = key
    }

    // Print the resulting map
    fmt.Println("Swapped map of mixed types:")
    for key, value := range swappedMap {
        fmt.Printf("%s: %d\n", key, value)
    }
}

Output

Swapped map of mixed types:
one: 1
two: 2
three: 3
four: 4
five: 5

Summary

In this tutorial, we learned How to Swap Keys and Values 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 ?