fmt.Println(true && false)?Оператор && - логическое И. Результат true только когда оба операнда true. Поэтому true && false даёт false. fmt.Println(true && false) выведет false.
fmt.Println(true && true) // true
fmt.Println(true && false) // false
fmt.Println(false && false) // false
Go вычисляет операнды слева направо и останавливается, как только результат очевиден. При false && expensive() функция expensive() не вызывается.
В Go булевы значения выводятся как true/false, а не как 1/0 (в отличие от C).