短路求值
如果逻辑表达式根据左边的计算结果, 能够得到整个表达式的结果, 那么右边的计算就不需要进行了, 这称之为短路求值 (short-circuit evaluation)
示例
Go语言代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| package main
func main() { if (true || a1(1)) || a1(2) { println("line 1") } if (true || a1(3)) && a1(4) { println("line 2") } }
func a1(i int) bool { print("number ") println(i) return true }
|
运行结果:
line 1
number 4
line 2