MST

星途 面试题库

面试题:Go中字面常量类型推导基础应用

在Go语言中,有如下代码片段:`var num = 3.14`,请问`num`的类型是什么?如果是`var str = "hello"`,`str`的类型又是什么?请解释Go语言在这种情况下是如何进行字面常量类型推导的。
15.3万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
  1. num的类型是float64
  2. str的类型是string

在Go语言中,对于字面常量的类型推导遵循以下规则:

  • 数值类型:Go语言中数值字面常量没有明确的类型,它们会根据上下文推导为适当的类型。例如,像3.14这种小数形式的字面常量,在没有显式类型声明时,会被推导为float64类型,因为浮点数在Go语言中常用的默认类型就是float64
  • 字符串类型:字符串字面常量(如"hello"),Go语言会直接将其推导为string类型,因为string是Go语言中用于表示文本的数据类型,字符串字面常量只能是string类型。