我有一本字典
a = {1:11, 2:22}我想检查a中是否存在b中的密钥
b = {3:33, 1:11}我如何在Go语言中做到这一点?
我是这样做的:
a:= make(map[string][]string)
a["1"] = append(a["1"], "11")
a["1"] = append(a["1"], "22")我有一个dict b为:
b:= make(map[string]string)
b["1"] = "11"我怎样才能检查这个?本质上,我想检查来自b的密钥1是否存在于a中。
发布于 2016-07-18 20:10:22
您可以使用go惯用方法来检查键的存在:
if _, ok:= b[key]; ok示例:
var (
a = map[string]int{
"alpha": 34, "bravo": 56, "charlie": 23,
"delta": 87, "echo": 56, "foxtrot": 12, "golf": 34, "hotel": 16,
"indio": 87, "juliet": 65, "kilo": 43, "lima": 98}
b = map[string]int{
"alpha": 34, "one": 56, "charlie": 23,
"insdio": 87, "julietta": 65, "kilo": 43, "lima": 98}
)
func main() {
for key, _ := range a {
if _, ok:= b[key]; ok {
fmt.Printf("%s\n", key)
}
}
}或者,您可以检查第一个映射中的键值是否与第二个映射中的值对应:
for key, val := range a {
if val == b[key] {
fmt.Printf("%s\n", key)
}
}但第一个是惯用的方式。
https://stackoverflow.com/questions/38435810
复制相似问题