go语言学习十二 - 布尔表达式采用短路逻辑
Posted scala
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言学习十二 - 布尔表达式采用短路逻辑相关的知识,希望对你有一定的参考价值。
package main import "fmt" func main() { //运行结果:a if true || b() { //go 的 if 判断采用短路求值,值已经确定后续的表达式不会计算也不会被调用 fmt.Println("a") } //运行结果:ba if or(true, b()) { //函数的参数必须被即时求值的 fmt.Println("a") } //运行结果:a if orfunc(true, b) { //传入函数参数的函数实现惰性求值 fmt.Print("a") } } func b() bool { fmt.Print("b") return false } func or(a, b bool) bool { return a || b } func orfunc(a bool, b func() bool) bool { return a || b() }
以上是关于go语言学习十二 - 布尔表达式采用短路逻辑的主要内容,如果未能解决你的问题,请参考以下文章