В Golang большинство математических функций работают только с типом float64 из-за особенностей работы с числами с плавающей точкой. 1
Значения с плавающей точкой часто имеют ряд угловых случаев (например, с участием NaN и бесконечностей), которые сложно исправить. 1 У целых чисел таких проблем нет. 1
Кроме того, тип float64 обеспечивает более высокую точность, чем float32, и имеет больший диапазон представляемых значений. 35 Это делает его предпочтительным выбором, когда необходимо работать с высокоточной арифметикой. 5