在 Go 语言中,判断 Map 中的 Key 是否存在有两种方法。

方法一:使用 if 语句进行判断。

语法:

val, ok := myMap[key]if ok {// key 存在} else {// key 不存在}
import "fmt"

func main() {
    dict := map[string]int{"key1": 1, "key2": 2}
    value, ok := dict["key1"]
    if ok {
        fmt.Printf(value)
    } else {
        fmt.Println("key1 不存在")
    }
}

以上就是golang中判断map中key是否存在的方法

还有一种简化的写法是

import "fmt"

func main() {
    dict := map[string]int{"key1": 1, "key2": 2}
    if value, ok := dict["key1"]; ok {
        fmt.Printf(value)
    } else {
        fmt.Println("key1 不存在")
    }
}

之所以能这么写是因为,这是if判断的一种高级用法

上面这种写法的意思是,在 if 里先运行表达式

value, ok := dict["key1"]

方法二:使用 map 的内置函数 delete() 进行判断。

语法:

_, ok := myMap[key]if ok {delete(myMap, key)} else {// key 不存在}