Go语言的短路求值 | Konica 的自留地

Go语言的短路求值

Vegetables, Cabbage, Forget, Old, Green, Power Supply

短路求值

如果逻辑表达式根据左边的计算结果, 能够得到整个表达式的结果, 那么右边的计算就不需要进行了, 这称之为短路求值 (short-circuit evaluation)

示例

Go语言代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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