go如何判断map中是否包含某个key?

在Go中,可以使用语法 value, ok := myMap[key] 来判断 myMap 中是否包含指定的 key。如果 key 存在于 myMap 中,那么 ok 将会是 true,并且 value 将会是该键对应的值。如果 key 不存在于 myMap 中,那么 ok 将会是 false,并且 value 将会是该映射类型的零值。

下面是一个简单的例子:

package main

import "fmt"

func main() {
  // 创建一个映射,将字符串映射到整型
  myMap := map[string]int{
    "foo": 1,
    "bar": 2,
    "baz": 3,
  }

  // 检查映射中是否包含键 "bar"
  value, ok := myMap["bar"]
  if ok {
    fmt.Println("myMap contains the key \"bar\" with value", value)
  } else {
    fmt.Println("myMap does not contain the key \"bar\"")
  }
}

运行上面的代码将会输出:

myMap contains the key "bar" with value 2

请注意,如果您不需要访问映射中的值,那么可以使用下划线来忽略该变量,如下所示:

_, ok := myMap["bar"]

这样的话,上面的代码中的判断语句就可以简化为:

if ok := myMap["bar"]; ok {
  fmt.Println("myMap contains the key \"bar\"")
} else {
  fmt.Println("myMap does not contain the key \"bar\"")
}

希望这对您有帮助!