Типы данных Float в Go
Типы float предназначены для чисел с десятичной точкой, положительных или отрицательных, например 35.3, -2.34 или 3597.34987.
Вы можете выбрать один из двух типов:
float32- занимает 32 бита и охватывает диапазон от -3.4e+38 до 3.4e+38float64- занимает 64 бита и охватывает диапазон от -1.7e+308 до 1.7e+308
Примечание: Если тип не указан, Go использует float64.
Ключевое слово float32
Пример
Обе переменные ниже объявлены как float32. Вторая находится близко к верхней границе диапазона:
Вывод: Программа на Go и захваченный вывод
package main
import ("fmt")
func main() {
var x float32 = 123.78
var y float32 = 3.4e+38
fmt.Printf("Тип: %T, значение: %v\n", x, x)
fmt.Printf("Тип: %T, значение: %v\n", y, y)
}
Ключевое слово float64
Выбирайте float64, когда нужно охватить более широкий диапазон чисел: его диапазон намного больше, чем у float32.
Пример
Значение здесь, 1.7e+308, никогда не поместилось бы в float32, поэтому переменная объявлена как float64:
Вывод: Программа на Go и захваченный вывод
package main
import ("fmt")
func main() {
var x float64 = 1.7e+308
fmt.Printf("Тип: %T, значение: %v\n", x, x)
}
Какой тип Float использовать?
Как и в случае с целыми числами, решение должно зависеть от значений, которые вы планируете хранить.
Go сообщает об ошибке, если значение не укладывается в диапазон объявленного типа. Например, значение 3.4e+39 слишком велико для float32.