Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement GoLang,如果条件允许,如何编写多行语句_If Statement_Go_Comparison - Fatal编程技术网

If statement GoLang,如果条件允许,如何编写多行语句

If statement GoLang,如果条件允许,如何编写多行语句,if-statement,go,comparison,If Statement,Go,Comparison,我想将下面的a值与b,c,d,e,f同时匹配,而不是像这样多次写入 我的价值观是: a = 11 b = 22 c = 33 d = 44 e = 55 f = 66 if a != b && a != c && a != d && a != e && a != f{ // Do something } else{ // Do something else } 是我的实际工作代码方法 但我想把它写成这样 if a

我想将下面的
a
值与
b
c
d
e
f
同时匹配,而不是像这样多次写入

我的价值观是:

a = 11
b = 22
c = 33
d = 44
e = 55
f = 66

if a != b && a != c && a != d && a != e && a != f{
    // Do something
} else{
    // Do something else
}
是我的实际工作代码方法

但我想把它写成这样

if a != b or c or d or e or f {print text}

在if语句中应使用一次
值。有什么简单的方法吗?

实际上,您可以通过一个
开关
语句来实现这一点:

a, b, c, d, e, f := 1, 2, 3, 4, 5, 6

switch a {
case b, c, d, e, f:
    fmt.Println("'a' matches another!")
default:
    fmt.Println("'a' matches none")
}
以上内容的输出(在上尝试):

使用
开关
是最干净、最快的解决方案

另一种解决方案是列出要比较的
a
值,并使用
for
循环对其进行范围设置并进行比较:

这就是它的样子:

match := false
for _, v := range []int{b, c, d, e, f} {
    if a == v {
        fmt.Println("'a' matches another!")
        match = true
        break
    }
}
if !match {
    fmt.Println("'a' matches none")
}
输出是相同的。试一试这个。虽然这更详细、效率更低,但它的优点是要比较的值可以是动态的,例如在运行时确定,而
开关
解决方案必须在编译时确定


同时检查相关问题:

我将使用
开关
语句

a := 11
b := 22
c := 33
d := 44
e := 55
f := 66
switch a {
case b, c, d, e, f:
default:
    fmt.Println("Hello, playground")
}

它的相关/可能的副本非常有用,在这方面我们可以使用简单的方法来比较多个值,如a或b马赫数c、d、e、f开关a、b{案例c、d、e、f:fmt.Println(“'a或b'匹配另一个!”)默认值:fmt.Println('a或b'匹配无”)},switch版本还可以用作对照类型列表检查接口变量的紧凑方法。例子:
a := 11
b := 22
c := 33
d := 44
e := 55
f := 66
switch a {
case b, c, d, e, f:
default:
    fmt.Println("Hello, playground")
}