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