想知道在GoLang中,结构体初始化的执行顺序是否有保障。
以下代码是否总是会产生
obj.a == 1
和 obj.b == 2
或者这是未指定的行为?
num := 0
nextNumber := func() int {
num += 1
return num
}
type TwoNumbers struct {
a int
b int
}
obj := TwoNumbers{
a: nextNumber(),
b: nextNumber(),
}