Go Tutorials

Go Programs

How to Get the Value Associated with a Key in a Map in Go


How to Get the Value Associated with a Key in a Map in Go ?

Answer

To get the value associated with a key in a map in Go, you can use the value, ok idiom. This idiom allows you to access the value directly using the key and check if the key exists in the map.



✐ Examples

1 Getting the Value Associated with a Key Using value, ok Idiom

We can get the value associated with a key in a map in Go using the value, ok idiom, which returns the value associated with the specified key and a boolean indicating if the key exists.

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 the value, ok idiom to access the value associated with the key "two". The idiom returns the value and a boolean indicating if the key exists.
  3. We check if the boolean is true and print the value to the console using the fmt.Printf function. Otherwise, we print a message indicating that the key does not exist.

Go Program

package main

import "fmt"

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

    // Get the value associated with a key using value, ok idiom
    if value, ok := myMap["two"]; ok {
        fmt.Printf("The value associated with key 'two' is: %d\n", value)
    } else {
        fmt.Println("Key 'two' does not exist.")
    }
}

Output

The value associated with key 'two' is: 2

2 Handling Key Not Found Using value, ok Idiom

We can handle the case where a key is not found in a map in Go using the value, ok idiom, which returns the zero value for the map's value type and a boolean indicating that the key does not exist.

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 the value, ok idiom to attempt to access the value associated with the key "four". The idiom returns the zero value for the map's value type and a boolean indicating if the key exists.
  3. We check if the boolean is true and print the value to the console using the fmt.Printf function. Otherwise, we print a message indicating that the key does not exist.

Go Program

package main

import "fmt"

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

    // Attempt to get the value associated with a non-existent key using value, ok idiom
    if value, ok := myMap["four"]; ok {
        fmt.Printf("The value associated with key 'four' is: %d\n", value)
    } else {
        fmt.Println("Key 'four' does not exist.")
    }
}

Output

Key 'four' does not exist.

3 Getting Multiple Values Using value, ok Idiom

We can get multiple values associated with keys in a map in Go using the value, ok idiom, which returns the value and a boolean indicating if each key exists.

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 the value, ok idiom to access the values associated with the keys "one" and "four". The idiom returns the value and a boolean indicating if each key exists.
  3. We check if the boolean is true for each key and print the value to the console using the fmt.Printf function. Otherwise, we print a message indicating that the key does not exist.

Go Program

package main

import "fmt"

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

    // Get the value associated with key 'one' using value, ok idiom
    if value, ok := myMap["one"]; ok {
        fmt.Printf("The value associated with key 'one' is: %d\n", value)
    } else {
        fmt.Println("Key 'one' does not exist.")
    }

    // Attempt to get the value associated with a non-existent key 'four' using value, ok idiom
    if value, ok := myMap["four"]; ok {
        fmt.Printf("The value associated with key 'four' is: %d\n", value)
    } else {
        fmt.Println("Key 'four' does not exist.")
    }
}

Output

The value associated with key 'one' is: 1
Key 'four' does not exist.

Summary

In this tutorial, we learned How to Get the Value Associated with a Key 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 ?