在Go语言中,浮点型常量是一个包含小数点或指数的数字。Go语言支持两种浮点数类型:float32
和 float64
。但是,浮点型常量本身是没有类型的,它们只有在被赋值给一个特定类型的变量或者在表达式中使用时才会被赋予一个具体的类型(默认情况下为 float64
)。
浮点型常量可以以以下几种形式表示:
十进制数:最常见的方式,直接写出带有小数点的数字,例如
3.14
或者0.001
。科学计数法:使用
e
或者E
来表示10的幂次方,例如6.022e23
表示阿伏伽德罗常数,即 (6.022 \times 10^{23})。十六进制数:使用前缀
0x
或0X
后跟一个或多个十六进制数字(0-9, A-F 或 a-f),以及一个小数点和/或一个以p
或P
开头的二进制指数来表示。例如,0x1p-2
表示 (1 \times 2^{-2} = 0.25)。
下面是一些浮点型常量的例子:
var f1 float64 = 3.14159 // 十进制表示
var f2 float32 = 1.23e-10 // 科学计数法,显式指定为 float32 类型
var f3 float64 = 0x1.Fp3 // 十六进制表示,等价于 1.9375 * 2^3 = 15.5
需要注意的是,当把一个浮点型常量赋值给一个 float32
变量时,如果该常量的值超出了 float32
能够精确表示的范围,则可能会发生精度损失。因此,在处理需要高精度的数值计算时,建议使用 float64
类型。