go中float32和float4区别
标签:
golang
大家好!我是猪哥,又到了更新go语言小技巧的时候了,今天我们来分享下,在go 中 关于基本数据类型 float32 和float64 在我们日常开发中应该使用那个好呢?
下面我们通过案例来看看到底是怎样的!我们打开vscode 输入以下代码
package main import ( "fmt" ) func main() { var num1 float32 = 25.12349999976 var num2 float64 = 25.12349999976 num3 := 25.12349999976 // 这里使用类型推导没有指定类型 fmt.Println("num1=",num1) fmt.Println("num2=", num2) fmt.Printf("num1的数据类型%T\n",num1) fmt.Printf("num2的数据类型%T\n",num2) fmt.Printf("num3的默认数据类型%T\n",num3) }
结果如下:
我们可以看到 num1 是float32 类型,num2 是float64类型,num3 我们没有指定数据类型!
num1 是float32 类型 小数点只保留到了 前4位,而 num2 是float64 精度没有丢失,而num3 我们没有指定类型,我们打印看到它默认的结果是 float64。
我们可以得出结果 ,go 中 float 的默认类型就是 float64,使用 float32 会导致精度丢失问题!
所以在日常开发中 我们推荐使用 float64 来保存 小数类型,不会造成精度丢失。
感谢阅读,最后祝大家新年快乐!