有没有办法在go中将整数转换为bool,反之亦然?
是否有内置的方法将布尔值转换为整数,反之亦然?我尝试了普通的转换,但是由于它们使用不同的基础类型,因此经典的转换方式是不可能的。我已经填写了一些规范,但尚未找到答案。
回答:
从int到bool很容易,只需x != 0
完成操作即可。换句话说,由于Go不支持三元运算符,因此您必须执行以下操作:
var x intif 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