Вебинар: Go-Go-Gadg...Error? Смотрим, как ошибаются Go разработчики! - 26.08
Анализатор обнаружил сравнение переменной типа 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) {
....
}
}
Диагностическое правило классифицируется как:
Была ли полезна эта страница документации?
Мы ответим вам на:
Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок: