我遇到过这样一种情况,我在常量中有一些整数值并将其与math.Pi常量相乘,如下所示:
func main() {
const a = 5
fmt.Printf("%v", a*math.Pi)
}
在执行时,它给出以下结果:
15.707963267948966
但是,当我将常量更改为变量 ( variable a)时,如下所示:
func main() {
a := 5
fmt.Printf("%v", a*math.Pi)
}
编译时出现以下错误:
constant 3.14159 truncated to integer
据我所知,隐式数字类型转换在表达式的所有操作数都是常量时有效,但在其中任何一个变量时无效。
但是为什么会这样呢?
慕标琳琳
相关分类