Go中的if条件中的非bool值

时间:2017-08-06 17:46:30

标签: go

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

if level & 1 {
    // do something
} else {
    // do something else
}

我的原因中的level变量属于uint类型。但是当我用1进行按位AND时,结果不是布尔值。这是C的有效语法,但显然它在Go中不起作用。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:14)

如果Go must have type of bool中的陈述,您可以使用comparison operator来实现,其结果是布尔:

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