Ответ 1
Int to 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) вам не нужно часто это делать, если вы пишете хороший код. Иногда это привлекательно, чтобы иметь возможность написать математическое выражение, основанное на логическом значении, но ваши сторонники будут благодарны вам за то, что вы его избегали.