多值函数和if语句

huangapple go评论65阅读模式
英文:

multi-value functions and if statements

问题

这是测试一个映射是否包含特定值的方法:

_, ok := myMap["foo"]

有没有办法在if语句中使用这个检查,以便我可以将多个测试链接在一起?

if ("foo" in map1) || ("bar" in map2) {
// 做一些操作
}
英文:

This tests if a map contains a certain value:

_, ok := myMap["foo"]

Is there a way to use this check in an if statement, so that I can chain multiple tests together?

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

答案1

得分: 1

这应该大致是你要找的内容。

if _, ok := myMap["foo"]; ok {
    // 做一些操作
}

你可以在括号中链接多个语句,以便同时进行多个检查。

if (_, okfoo := myMap["foo"]; _, okbar := myMap["bar"]; okfoo || okbar) {
    // 做一些操作
}
英文:

This should be roughly what you're looking for.

if _, ok := myMap["foo"]; ok {
    //do stuff
}

<s>
You should be able to chain multiple statements in the parentheses so that you can have multiple checks at a time.

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

</s>

huangapple
  • 本文由 发表于 2017年3月16日 12:38:35
  • 转载请务必保留本文链接:https://go.coder-hub.com/42825410.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定