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

Вебинар: Go-Go-Gadg...Error? Смотрим, как ошибаются Go разработчики! - 26.08

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

V8006. Unconditional 'break/continue/return/goto' within a loop.

03 Апр 2026

Анализатор обнаружил подозрительный цикл, в котором безусловно выполняется одна из следующих инструкций: continue, break, return, goto.

Рассмотрим пример:

for i := 0; i < max; i++ {                
  if i == index {
    value += Calculate(i)
  }
  break
}

В данном коде инструкция break не принадлежит телу инструкции if, из-за чего выполняться будет вне зависимости от истинности условия i == index. Вследствие этого тело цикла будет всегда исполняться только один раз.

Корректный код мог бы выглядеть так:

for i := 0; i < max; i++ {                
  if i == index {
    value += Calculate(i)
    break
  }
}

Диагностическое правило классифицируется как: