func main() {
const abc = 111
fmt.Printf("%T\n", abc)
fmt.Println(math.Pi * abc)
fmt.Printf("%T", math.Pi)
}
结果:
int
348.71678454846705
float64
但是我明确地将abc
键入为int
func main() {
const abc int = 111
fmt.Printf("%t\n", abc)
fmt.Println(math.Pi * abc)
fmt.Printf("%t", math.Pi)
}
结果是错误陈述:
constant 3.14159 truncated to integer
我想知道为什么在第一个示例中abc
的类型是int
但是当我abc
显式地int
时,编译器会给我一个错误。< / p>