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

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

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

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

Результатом проверки переменной на `NaN` с помощью оператора `==` всегда будет `false`\. Вместо этого следует использовать функцию [`math.IsNaN`](https://pkg.go.dev/math#IsNaN)\.

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

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