var (
HOME = os.Getenv("HOME")
USER = os.Getenv("USER")
GOROOT = os.Getenv("GOROOT")
)这些变量的类型是在编译期间还是在运行时确定的?
1 回答
天涯尽头无女友
TA贡献1831条经验 获得超9个赞
Go是一种静态类型语言,因此它必须在编译时发生。
如果存在某个类型,则为每个变量指定该类型。否则,将为每个变量分配中相应初始化值的类型。如果该值是非类型化常量,则首先将其隐式转换为其默认类型;如果它是非类型化的布尔值,则首先隐式转换为类型 。预声明值不能用于初始化没有显式类型的变量。bool
nil
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()
是 ,所有这些变量都将是 类型。string
string
- 1 回答
- 0 关注
- 51 浏览
添加回答
举报
0/150
提交
取消