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,
- 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. - 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.
- 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,
- 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. - 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. - We call the
setDefault
function to set the default value for the key. - 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,
- 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. - 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. - We call the
setDefault
function to set multiple default values for the keys. - 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
- How to create an Empty Map in Go ?
- How to create a Map with Initial Key-Value Pairs in Go ?
- How to Print a Map in Go ?
- How to Add a Key-Value Pair to a Map in Go ?
- How to Set a Default Value for a Key in a Map in Go ?
- How to Update the Value for a Key in a Map in Go ?
- How to Check if a Map is Empty in Go ?
- How to Check if a Key Exists in a Map in Go ?
- How to Check if a Value Exists in a Map in Go ?
- How to Get the Value Associated with a Key in a Map in Go ?
- How to Remove a Key-Value Pair from a Map in Go ?
- How to Remove Key-Value Pairs from a Map Based on Values in Go ?
- How to Clear All Key-Value Pairs from a Map in Go ?
- How to Iterate Over Keys in a Map in Go ?
- How to Iterate Over Values in a Map in Go ?
- How to Iterate Over Entries (Key-Value Pairs) in a Map in Go ?
- How to Get the Size (Number of Key-Value Pairs) of a Map in Go ?
- How to Convert a Map to an Array of Keys in Go ?
- How to Convert a Map to an Array of Values in Go ?
- How to Convert a Map to an Array of Key-Value Pairs in Go ?
- How to Merge Two Maps in Go ?
- How to Copy a Map in Go ?
- How to Check if Two Maps are Equal in Go ?
- How to Sort a Map by Keys in Go ?
- How to Sort a Map by Values in Go ?
- How to Filter a Map Based on Keys in Go ?
- How to Filter a Map Based on Values in Go ?
- How to Reduce Values in a Map to a Single Value in Go ?
- How to Convert an Array of Key-Value Pairs to a Map in Go ?
- How to Convert a Map to a JSON String in Go ?
- How to Convert a JSON String to a Map in Go ?
- How to Swap Keys and Values in a Map in Go ?
- How to Create a Map of Maps in Go ?
- How to Iterate Over a Map of Maps in Go ?