带有附加布尔值的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

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:
     return 99
}

不可以,但您可以选择以下选项:

switch {
   case myStr=="hello", isEven:
   case myStr=="idk", !isEven:
}
或:


不知怎的,我相信OP希望对各个分支中的条件进行逻辑AND;-)@也许是科斯蒂克斯。我也加了一句。
switch {
   case myStr=="hello" && isEven:
   case myStr=="idk" && !isEven:
}