跳转到内容
彼岸论坛
欢迎抵达彼岸 彼岸花开 此处谁在 -彼岸论坛

[程序员] Go 语言存在隐式类型转换?


已推荐帖子

发表于

忘了在哪本书上看到的例子:

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 语言存在隐式类型转换了。

有请知道的大佬解答原因,还有没有类似的情况呢?

  • 游客注册

    游客注册

  • 会员

    没有会员可显示

  • 最新的状态更新

    没有最新的状态更新
  • 最近查看

    • 没有会员查看此页面.
×
×
  • 创建新的...