我在Go中有一个if语句,如下所示:
if level & 1 {
// do something
} else {
// do something else
}
我的原因中的level
变量属于uint
类型。但是当我用1进行按位AND时,结果不是布尔值。这是C的有效语法,但显然它在Go中不起作用。知道如何解决这个问题吗?
答案 0 :(得分:14)
如果Go must have type of bool
中的陈述,您可以使用comparison operator来实现,其结果是布尔:
if level&1 != 0 {
// do something
} else {
// do something else
}