【发布时间】:2016-06-30 12:06:17
【问题描述】:
这里是具体例子
func main(){
m := make(map[string]int)
m["k1"] = 7
_, prs := m["k2"]
fmt.Println(prs)
}
"_" 在这里表示什么?
休息对我来说很清楚。
【问题讨论】:
标签: go
这里是具体例子
func main(){
m := make(map[string]int)
m["k1"] = 7
_, prs := m["k2"]
fmt.Println(prs)
}
"_" 在这里表示什么?
休息对我来说很清楚。
【问题讨论】:
标签: go
_ 表示您不关心这个特定的返回值。
访问地图索引会产生 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 中是否有东西,你不必检查它。
【讨论】:
见dokumentation。您的声明:
_, prs := m["k2"]
同时做两件事。 A)检查映射中是否存在键/值,B)检索该值。 “prs”是一个布尔值,指示键“k2”的值是否存在。
因此,如果您仅想检查映射中是否存在键/值并且不关心使用该值,则可以使用“_”忽略该值并且只使用“prs”布尔值。
【讨论】: