Деление int на 0 vs float на 0?

Middle
731 просмотров
AFK Offer AI

Деление int на 0 — panic: runtime error: integer divide by zero. Деление float64 на 0 — не panic, а специальные значения IEEE 754:

1.0 / 0.0   // +Inf
-1.0 / 0.0  // -Inf
0.0 / 0.0   // NaN

Проверки: math.IsInf(v, 0), math.IsNaN(v). NaN не равен ничему, включая самого себя: NaN != NaN. Это поведение одинаково во всех языках, следующих IEEE 754.

Следующий вопрос

Какие данные не стоит индексировать?