go - golang内部是如何映射的?

标签 go

<分区>

这里是具体的例子

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

_, prs := m["k2"]   
fmt.Println(prs)  
}

这里的"_"是什么意思?
休息对我来说很清楚。

最佳答案

_ 表示您不关心这个特定的返回值。

访问 map 索引会产生 2 个值:

  • 该索引的值,或值类型的零值
  • 一个 bool 值,指示值是否在该索引处

在您的情况下,prs 将是 bool 值。

这种模式经常被这样使用:

if _, found := m[key]; !found {
    // Do something here to handle the fact that there is nothing at the index `key`
}

Map 是 Go 中的一种特殊类型,第二个值是可选的,因此如果您不关心 map 中是否有某些东西,则不必检查它。

关于go - golang内部是如何映射的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38122630/

相关文章:

go - 将项目附加到函数中的 slice 不会改变原始 slice

go - 为什么解码返回结果为空

azure - 如何使用 oauth2 token 在 MS Graph SDK 中进行身份验证?

go - 不能在追加中使用类型 []rune 作为类型 rune

go - 在Golang中,为什么不能比较[]“k8s.io/api/core/v1” .ServicePort?

go - 如何使用Go语言获取当前时间(以毫秒为单位)?

go - 具有多个 channel 的串行数据的异步队列

go - 扫描仪提前终止

mongodb - 使用嵌套结构的逻辑运算符查找查询?

go - WaitGroup 在之前的 Wait 未知原因之前被重用