Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top

Вебинар: Зачем тестировщику нужна безопасность? - 16.04

menu mobile close menu
Проверка проектов
Дополнительная информация
toggle menu Оглавление

V8010. Two or more 'case' branches have equivalent expressions.

03 Апр 2026

Анализатор обнаружил одинаковые выражения в case. Это может быть опечаткой, возникшей в результате copy-paste. Она может привести к тому, что в switch будут обработаны не все варианты, которые задумывал разработчик, а также часть кода будет недостижимой.

Рассмотрим пример ошибки:

const (
    MONDAY    = 1
    TUESDAY   = 2
    WEDNESDAY = 3
    THURSDAY  = 4
    FRIDAY    = 5
)

switch {
case day == MONDAY:
  ....  
case day == TUESDAY:
  ....
case day == WEDNESDAY:
  ....
case day == THURSDAY:
  ....
case day == MONDAY:
  ....
}

В данном примере два раза используется условие day == MONDAY. Таким образом, код внутри последнего case будет недостижим. Вместо второго одинакового выражения предполагалось использовать условие day == FRIDAY.

Исправленный вариант:

switch {
case day == MONDAY:
  ....  
case day == TUESDAY:
  ....
case day == WEDNESDAY:
  ....
case day == THURSDAY:
  ....
case day == FRIDAY:
  ....
}