Go 浮点数数据类型

Go 浮点数据类型

浮点数据类型用于存储带小数点的正数和负数,如 35.3、-2.34 或 3597.34987。

浮点数数据类型有两个关键字:

类型 大小 范围
float32 32 位 -3.4e+38 到 3.4e+38
float64 64 位 -1.7e+308 到 +1.7e+308

提示:浮点数的默认类型是 float64。如果您不指定类型,那么类型将是 float64

float32 关键字

实例

此例展示了如何声明一些 float32 类型的变量:

package main
import ("fmt")

func main() {
  var x float32 = 123.78
  var y float32 = 3.4e+38
  fmt.Printf("Type: %T, value: %v\n", x, x)
  fmt.Printf("Type: %T, value: %v", y, y)
}

亲自试一试

float64 关键字

float64 数据类型可以存储比 float32 更大的数字集。

实例

此例展示了如何声明 float64 类型的变量:

package main
import ("fmt")

func main() {
  var x float64 = 1.7e+308
  fmt.Printf("Type: %T, value: %v", x, x)
}

亲自试一试

应该使用哪种浮点数类型?

选择哪种浮点数类型,取决于变量必须存储的值。

实例

此例将导致错误,因为 3.4e+39 超出了 float32 的范围:

package main
import ("fmt")

func main() {
  var x float32= 3.4e+39
  fmt.Println(x)
}

结果:

./prog.go:5:7: constant 3.4e+39 overflows float32

亲自试一试