Float64 在 go 中键入常量,失去精度

Float64 typed constant in go, loses precision

考虑以下用 go 编写的代码:

package main

import "fmt"

func main() {
    const pi float64 = 22 / 7
    fmt.Println("pi value", pi)
}

此处pi的值为3。问题是为什么值会丢失精度,即使它是 float64?

类型

没关系,我得到了答案。

package main

import "fmt"

func main() {
    const pi float64 = 22.0 / 7.0
    fmt.Println("pi value", pi)
}

输出3.142857142857143。似乎类型取决于整数类型是否被划分,无论接收变量是否为 float64 类型,它都会 return 一个整数。所以得到一个浮点值,浮点值之间是否存在差异。