V8018. Comparison with 'math.NaN()' is meaningless. Use 'math.IsNaN()' function instead.
Анализатор обнаружил сравнение переменной типа 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) {
....
}
}