How to check if a map contains a key in Go?
if statements in Go can include both a condition and an initialization statement.
First initialization of two variables - "value" which will receive either the value of "china" from the map and "ok" will receive a bool that will be set to true if "china" was actually present in the map.
Second, evaluates ok, which will be true if "china" was in the map. On that basis print the result.
Using len you can check weather map is empty or not.
Need to work on your code with various hosted apps from anywhere with multiple devices? Take a risk- free trial from a Desktop-as-a-Service provider(DaaS) such as CloudDesktopOnline. For hosted SharePoint and Exchange hosting visit Apps4Rent.com today.
Example
package main
import "fmt"
func main() {
fmt.Println("\n##############################\n")
strDict := map[string]int {"japan" : 1, "china" : 2, "canada" : 3}
value, ok := strDict["china"]
if ok {
fmt.Println("Key found value is: ", value)
} else {
fmt.Println("Key not found")
}
fmt.Println("\n##############################\n")
if value, exist := strDict["china"]; exist {
fmt.Println("Key found value is: ", value)
} else {
fmt.Println("Key not found")
}
fmt.Println("\n##############################\n")
intMap := map[int]string{
0: "zero",
1: "one",
}
fmt.Printf("Key 0 exists: %t\nKey 1 exists: %t\nKey 2 exists: %t",
intMap[0] != "", intMap[1] != "", intMap[2] != "")
fmt.Println("\n##############################\n")
t := map[int]string{}
if len(t) == 0 {
fmt.Println("\nEmpty Map")
}
if len(intMap) == 0 {
fmt.Println("\nEmpty Map")
}else{
fmt.Println("\nNot Empty Map")
}
}
Output
##############################
Key found value is: 2
##############################
Key found value is: 2
##############################
Key 0 exists: true
Key 1 exists: true
Key 2 exists: false
##############################
Most Helpful This Week
How to wait for Goroutines to Finish Execution?
How to fix race condition using Atomic Functions in Golang?
How to use Ellipsis (...) in Golang?
Find out how many logical processors used by current process
How to check pointer or interface is nil?
Dereferencing a pointer from another package
How can we reverse a simple string in Go?
Example of Switch Case with Break in For Loop
How to collect information about garbage collection?
Golang HTTP GET request with parameters