Go中if条件下的非布尔值

Go中if条件下的非布尔值,go,Go,我在Go中有一个if语句,如下所示: if level & 1 { // do something } else { // do something else } 我的原因中的level变量的类型为uint。但当我对1进行按位AND运算时,结果不是布尔值。这是C的有效语法,但显然在Go中不起作用。你知道如何解决这个问题吗?围棋中的If语句,你可以使用一个,结果是bool: if level&1 != 0 { // do something } else

我在Go中有一个if语句,如下所示:

if level & 1 {
    // do something
} else {
    // do something else
}
我的原因中的
level
变量的类型为
uint
。但当我对1进行按位AND运算时,结果不是布尔值。这是C的有效语法,但显然在Go中不起作用。你知道如何解决这个问题吗?

围棋中的If语句,你可以使用一个,结果是bool:

if level&1 != 0 {
    // do something
} else {
    // do something else
}

在我看来,这无疑是Go语言的最佳设计决策。避免了这么多错误