package main
var x, y = true, false
func o(b bool) bool {
print(b)
return !b
}
func main() {
_ = x || o(x)
_ = y && o(y)
}
Choices:
Answer: (It prints nothing)
Run it on Go play.
Key points:
a || b
, the expression a
is evaluated firstly and the expression b
will be only evaluated if a
is evaluated as false
.
a && b
, the expression a
is evaluated firstly and the expression b
will be only evaluated if a
is evaluated as true
.