我在 Go 中有一个 if 语句,看起来像这样:
if level & 1 {
// do something
} else {
// do something else
}
我的代码中的变量level
是uint
类型。但是当我使用按位与1进行运算时,结果不是布尔类型。这在C语言中是合法的语法,但显然在Go语言中不起作用。有什么解决方法吗?
我在 Go 中有一个 if 语句,看起来像这样:
if level & 1 {
// do something
} else {
// do something else
}
我的代码中的变量level
是uint
类型。但是当我使用按位与1进行运算时,结果不是布尔类型。这在C语言中是合法的语法,但显然在Go语言中不起作用。有什么解决方法吗?
在Go语言中,if语句必须拥有bool类型的条件,你可以通过使用比较运算符来实现,其结果为bool类型:
if level&1 != 0 {
// do something
} else {
// do something else
}