How to Set a Default Value for a Key in a Map in Go - Step by Step Examples



How to Set a Default Value for a Key in a Map in Go ?

Answer

To set a default value for a key in a map in Go, you can check if the key exists and if not, assign the default value using the subscript operator.



✐ Examples

1 Setting a Default Value Using an if Statement

We can set a default value for a key in a map in Go by checking if the key exists and if not, assigning the default value using the subscript operator.

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 an if statement to check if the key exists in the map. If the key does not exist, we assign the default value using the subscript operator.
  3. We print the updated map to the console using a for range loop and the fmt.Printf function.

Go Program

package main

import "fmt"

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

    // Set a default value using an if statement
    if _, exists := myMap["four"]; !exists {
        myMap["four"] = 4
    }

    // Print the updated map
    for key, value := range myMap {
        fmt.Printf("%s: %d\n", key, value)
    }
}

Output

one: 1
two: 2
three: 3
four: 4

2 Setting a Default Value Using a Function

We can set a default value for a key in a map in Go by using a helper function that checks if the key exists and if not, assigns the default value.

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 define a helper function named setDefault that takes a map, a key, and a default value as arguments. The function checks if the key exists in the map and if not, assigns the default value using the subscript operator.
  3. We call the setDefault function to set the default value for the key.
  4. We print the updated map to the console using a for range loop and the fmt.Printf function.

Go Program

package main

import "fmt"

// Helper function to set a default value
func setDefault(m map[string]int, key string, defaultValue int) {
    if _, exists := m[key]; !exists {
        m[key] = defaultValue
    }
}

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

    // Set a default value using the helper function
    setDefault(myMap, "four", 4)

    // Print the updated map
    for key, value := range myMap {
        fmt.Printf("%s: %d\n", key, value)
    }
}

Output

one: 1
two: 2
three: 3
four: 4

3 Setting Multiple Default Values Using a Function

We can set multiple default values for keys in a map in Go by using a helper function that checks if the keys exist and if not, assigns the default 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 define a helper function named setDefault that takes a map, a key, and a default value as arguments. The function checks if the key exists in the map and if not, assigns the default value using the subscript operator.
  3. We call the setDefault function to set multiple default values for the keys.
  4. We print the updated map to the console using a for range loop and the fmt.Printf function.

Go Program

package main

import "fmt"

// Helper function to set default values
func setDefault(m map[string]int, key string, defaultValue int) {
    if _, exists := m[key]; !exists {
        m[key] = defaultValue
    }
}

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

    // Set multiple default values using the helper function
    setDefault(myMap, "four", 4)
    setDefault(myMap, "five", 5)

    // Print the updated map
    for key, value := range myMap {
        fmt.Printf("%s: %d\n", key, value)
    }
}

Output

one: 1
two: 2
three: 3
four: 4
five: 5

Summary

In this tutorial, we learned How to Set a Default Value for 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 ?