从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),如果您编写好的代码,则不必经常这样做。有时能够基于布尔值编写数学表达式很吸引人,但是您的维护者将感谢您避免使用它。