是否有内置方法将布尔值转换为整数,反之亦然?我尝试过正常的转换,但由于它们使用不同的基础类型,因此不可能以经典的方式进行转换。我翻了一些规范,还没有找到答案。
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),如果您编写良好的代码,则不必经常这样做。有时能够编写基于布尔值的数学表达式很有吸引力,但您的维护人员会感谢您避免这样做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)