Go 多值函数和if语句

Go 多值函数和if语句,go,Go,这将测试映射是否包含特定值: _, ok := myMap["foo"] 有没有办法在if语句中使用此检查,以便将多个测试链接在一起 if ("foo" in map1) || ("bar" in map2) { // do stuff } 这大概就是你要找的 if _, ok := myMap["foo"]; ok { //do stuff } 您应该能够在括号中链接多个语句,以便一次可以进行多个检查 if (_, okfoo := myMap["foo"]; _, okbar

这将测试映射是否包含特定值:

_, ok := myMap["foo"]
有没有办法在if语句中使用此检查,以便将多个测试链接在一起

if ("foo" in map1) || ("bar" in map2) {
// do stuff
}

这大概就是你要找的

if _, ok := myMap["foo"]; ok {
    //do stuff
}
您应该能够在括号中链接多个语句,以便一次可以进行多个检查

if (_, okfoo := myMap["foo"]; _, okbar := myMap["bar"]; okfoo || okbar) {
    // do stuff
}

只是看起来很可怕…;-)我希望有一个表达式(每个映射)可以直接检查返回值并保存整个赋值。谢谢你的回答!我完全同意这看起来很可怕。很抱歉。也许类似于(myMap[“foo”])[1]的东西会起作用?我不相信
(\uu,ok:=myMap[“foo”];ok==true)
是有效的语法;您需要去掉括号,或者更好的做法是执行
,ok:=myMap[“foo”];好的
。另外,第二个代码段仍然不起作用: