下面是检查地图中是否存在一个键的格式
val, ok := mapName[key]
这里有两种情况
- 如果键存在,val变量是该键在地图中的值,ok变量为true。
- 如果键不存在,val变量将是默认的零值类型,ok变量将是false。
让我们看一个例子
package main
import "fmt"
func main() {
//Declare
employeeSalary := make(map[string]int)
//Adding a key value
employeeSalary["Tom"] = 2000
fmt.Println("Key exists case")
val, ok := employeeSalary["Tom"]
fmt.Printf("Val: %d, ok: %t\n", val, ok)
fmt.Println("Key doesn't exists case")
val, ok = employeeSalary["Sam"]
fmt.Printf("Val: %d, ok: %t\n", val, ok)
}
输出
Key exists case
Val: 2000, ok: true
Key doesn't exists case
Val: 0, ok: false
在上面的程序中,当一个键存在时,val变量被设置为实际值,即2000,ok变量为真。当键不存在时,val变量被设置为0,也就是int的默认零值,ok变量为假。这个ok变量是检查键是否存在于地图中的最好方法。
如果我们只想检查键是否存在而不需要val,那么可以用空白标识符即"_"来代替val。
_, ok = employeeSalary["Sam"]