小天管理 发表于 7月29日 Share 发表于 7月29日 忘了在哪本书上看到的例子: package main import "fmt" func main() { // 不指定类型时为浮点数 var a = 2e3 fmt.Printf("%T: %v\n", a, a) // 输出:float64: 2000 // 编译成功,因为 1.5e3 等于 1500 ,是一个整数 var b int = 1.5e3 fmt.Printf("%T: %v\n", b, b) // 输出:int: 1500 } 上面代码中,为什么 var b int = 1.5e3 能通过编译,难道科学计数法被视为算术表达式或常量表达式?不然我只能认为 Go 语言存在隐式类型转换了。 有请知道的大佬解答原因,还有没有类似的情况呢? 引用 意见的链接 分享到其他网站 More sharing options...
已推荐帖子
加入讨论
您现在可以发表并稍后注册. 如果您是会员,请现在登录来参与讨论.