在golang内部如何进行映射?

在golang内部如何进行映射?,go,Go,这里有一个具体的例子 func main(){ m := make(map[string]int) m["k1"] = 7 _, prs := m["k2"] fmt.Println(prs) } “\ucode>在这里表示什么? 其余部分我很清楚。请参阅。你的声明: _, prs := m["k2"] 就是同时做两件事。A) 检查映射中是否存在键/值,B)is检索该值。“prs”是一个布尔值,指示键“k2”的值是否存在 因此,如果您只想检查映射中是否存在键/值,

这里有一个具体的例子

func main(){    
m := make(map[string]int)  
m["k1"] = 7  

_, prs := m["k2"]   
fmt.Println(prs)  
}
“\ucode>在这里表示什么?
其余部分我很清楚。

请参阅。你的声明:

_, prs := m["k2"]
就是同时做两件事。A) 检查映射中是否存在键/值,B)is检索该值。“prs”是一个布尔值,指示键“k2”的值是否存在


因此,如果您只想检查映射中是否存在键/值,而不想使用该值,则可以使用“\u”忽略该值,而只使用“prs”布尔值。

\u
表示您不关心该特定返回值

访问地图索引会产生2个值:

  • 索引的值,或值类型的零值
  • 一个布尔值,指示某个值是否在该索引处
在您的情况下,
prs
将是布尔值

此模式通常是这样使用的:

if _, found := m[key]; !found {
    // Do something here to handle the fact that there is nothing at the index `key`
}
Map是Go中的一种特殊类型,第二个值是可选的,因此如果您不关心Map中是否有某些内容,则不必检查它