为了账号安全,请及时绑定邮箱和手机立即绑定

Go 语言类型推理何时发生?

Go 语言类型推理何时发生?

Go
慕莱坞森 2022-09-26 19:47:03
var (     HOME = os.Getenv("HOME")     USER = os.Getenv("USER")     GOROOT = os.Getenv("GOROOT") )这些变量的类型是在编译期间还是在运行时确定的?
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

Go是一种静态类型语言,因此它必须在编译时发生。


规范:变量声明:

如果存在某个类型,则为每个变量指定该类型。否则,将为每个变量分配中相应初始化值的类型。如果该值是非类型化常量,则首先将其隐式转换为默认类型;如果它是非类型化的布尔值,则首先隐式转换为类型 。预声明值不能用于初始化没有显式类型的变量。boolnil


var d = math.Sin(0.5)  // d is float64

var i = 42             // i is int

var t, ok = x.(T)      // t is T, ok is bool

var n = nil            // illegal

在您的示例中,因为返回了 os 的类型。Getenv() 是 ,所有这些变量都将是 类型。stringstring



查看完整回答
反对 回复 2022-09-26
  • 1 回答
  • 0 关注
  • 51 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信