有没有办法在go中将整数转换为bool,反之亦然?

是否有内置的方法将布尔值转换为整数,反之亦然?我尝试了普通的转换,但是由于它们使用不同的基础类型,因此经典的转换方式是不可能的。我已经填写了一些规范,但尚未找到答案。

回答:

从int到bool很容易,只需x != 0完成操作即可。换句话说,由于Go不支持三元运算符,因此您必须执行以下操作:

var x int

if b {

x = 1

} else {

x = 0

}

您当然可以将其放在函数中:

func Btoi(b bool) int {

if b {

return 1

}

return 0

}

整数有很多种可能的布尔解释,但它们都不一定是自然的,因此必须说出您的意思是有道理的。

根据我的经验(YMMV),如果您编写好的代码,则不必经常这样做。有时能够基于布尔值编写数学表达式很吸引人,但是您的维护者将感谢您避免使用它。

以上是 有没有办法在go中将整数转换为bool,反之亦然? 的全部内容, 来源链接: utcz.com/qa/435336.html

回到顶部