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

var (
    HOME = os.Getenv("HOME")
    USER = os.Getenv("USER")
    GOROOT = os.Getenv("GOROOT")
)

这些变量的类型是在编译期间还是在运行时确定的?


慕莱坞森
浏览 52回答 1
1回答

天涯尽头无女友

Go是一种静态类型语言,因此它必须在编译时发生。规范:变量声明:如果存在某个类型,则为每个变量指定该类型。否则,将为每个变量分配中相应初始化值的类型。如果该值是非类型化常量,则首先将其隐式转换为其默认类型;如果它是非类型化的布尔值,则首先隐式转换为类型 。预声明值不能用于初始化没有显式类型的变量。boolnilvar d = math.Sin(0.5)  // d is float64var i = 42             // i is intvar t, ok = x.(T)      // t is T, ok is boolvar n = nil            // illegal在您的示例中,因为返回了 os 的类型。Getenv() 是 ,所有这些变量都将是 类型。stringstring
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go