go语言浮点型数值,取值范围表
go语言的浮点型数值,也就是带小数点的数值,有两种,分别是:float32和float64,默认的情况下是float64。
浮点型数值长度及取值范围表
符号 | 长度 | 取值范围 |
float32,又称为单精度 | 4字节 | 最大值:3.4028234663852886e+38 |
float64,有称为双精度 | 8字节 | 最大值:1.7976931348623157e+308 |
注意: float32和float64的最大值可以用math.MaxFloat32和math.MaxFloat64两个常数求出,如下面的实例。
实例
package main
import (
"fmt"
"math"
"reflect"
"unsafe"
)
func main() {
var a float32
var b float64
c := 0.1
fmt.Printf("float32的数据类型字节大小为%d,float64的字节大小为%d \n", unsafe.Sizeof(a), unsafe.Sizeof(b))
fmt.Printf("float32的最大值约为%d, float64的为%d \n", math.MaxFloat32, math.MaxFloat64)
fmt.Println(reflect.TypeOf(c))
}
——————————————————————————————
代码输出:
float32的数据类型字节大小为4,float64的字节大小为8
float32的最大值约为%!d(float64=3.4028234663852886e+38), float64的为%!d(float64=1.7976931348623157e+308)
float64
代码解析
- 如上代码,unsafe.Sizeof()函数可以用于求取类型的字节大小;
- reflect.TypeOf()函数可以用于检测数据的类型,如上输出,可知c的数据类型默认情况下是float64;
- math.MaxFloat32和math.MaxFloat64是两个常数,而不是函数。