带有附加布尔值的Go开关语句
go中是否可能有允许不基于“切换”项目的额外检查的切换语句?比如说带有附加布尔值的Go开关语句,go,Go,go中是否可能有允许不基于“切换”项目的额外检查的切换语句?比如说 myStr := "idk" // some string code := getIntID(myStr) // will be an integer isEven := (code % 2 == 0) switch myStr { case "hello", isEven: return 5 case "idk", !isEvent: return 12 default: re
myStr := "idk" // some string
code := getIntID(myStr) // will be an integer
isEven := (code % 2 == 0)
switch myStr {
case "hello", isEven:
return 5
case "idk", !isEvent:
return 12
default:
return 99
}
不可以,但您可以选择以下选项:
switch {
case myStr=="hello", isEven:
case myStr=="idk", !isEven:
}
或:
不知怎的,我相信OP希望对各个分支中的条件进行逻辑AND;-)@也许是科斯蒂克斯。我也加了一句。
switch {
case myStr=="hello" && isEven:
case myStr=="idk" && !isEven:
}