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

Вебинар: Практическая интеграция PVS-Studio и SourceCraft - 15.07

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

V8018. Comparison with 'math.NaN()' is meaningless. Use the 'math.IsNaN()' function instead.

03 Апр 2026

Анализатор обнаружил сравнение переменной типа float с math.NaN(). Даже если переменная имеет значение math.NaN(), любая её проверка относительно math.NaN() через операторы сравнения будет давать некорректный результат.

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

func Foo(a float64) {
  if a == math.NaN() {
    ....
  }
}

Результатом проверки переменной на NaN с помощью оператора == всегда будет false. Вместо этого следует использовать функцию math.IsNaN.

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

func Foo(a float64) {
  if math.IsNaN(a) {
    ....
  }
}