go的逻辑运算
规则与其他语言的类似
在||
运算时,若左侧的操作数为true
则右侧的操作不会被执行
在&&
运算时,若左侧的操作数为false
则右侧的操作不会被执行
这就像电路中的短路
操作
package main
import "fmt"
func main() {
fmt.Println( A() || B() ) //A B都被调用
fmt.Println( B() || A() ) //B 被调用
fmt.Println( A() && B() ) //A 被调用
fmt.Println( B() && A() ) //A B 都被调用
}
func A() bool {
fmt.Println("call func A")
return false
}
func B() bool {
fmt.Println("call func B")
return true
}