if a {
if b {
if c {
if d {
return true
} else {
return false
}
} else {
return false
}
} else {
return false
}
} else {
return false
}
https://play.golang.com/p/QyQ2FQDd40u
package main
import (
"fmt"
)
func main() {
fmt.Println(true && false && false && true)
fmt.Println(true && false && true && false)
fmt.Println(true && true && false && false)
fmt.Println(false && false && true && true)
fmt.Println(false && true && false &&true)
fmt.Println(false && true && true && false)
fmt.Println(true && true && true && true)
}
false
false
false
false
false
false
true
#17
更多评论
如果仅仅简化例子的逻辑 那下面就可以满足了
'''if d {
return true
} else {
return false
}'''
不过你应该不是想要这个,但是有一点无法确定,是每个条件返回值都不同吗?
大概写一下 我平时遇到这种的写法 不一定是最好的
逻辑 就是 先写小范围的判断 再写大范围的条件
''' if d{
return xxx
}
if c{
return x1
}
if b{
return x2
}
'''
------- 类似这种形式
还有一种就是 如果是取交集的情况 那就这样
''' if a&&b {
return x1
}
if b&&c {
return x2
}
想多层判断的话 要根据实际情况去写 个人感觉层数能少则少 要不然后续自己看这些代码都想去si
希望能对你有所帮助!
#1