Go операторы переключения с дополнительными логическими значениями - PullRequest
0 голосов
/ 26 мая 2020

Возможно ли иметь операторы переключения в 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
}

1 Ответ

3 голосов
/ 26 мая 2020

Нет, но вы можете использовать это вместо:

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

Или:

switch {
   case myStr=="hello" && isEven:
   case myStr=="idk" && !isEven:
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...