V8010. Two or more 'case' branches have equivalent expressions.
Анализатор обнаружил одинаковые выражения в 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:
....
}