eddycjy / blog

煎鱼的博客,有点忙,传送门:https://eddycjy.com
3.05k stars 431 forks source link

用 Go struct 不能犯的一个低级错误! #156

Open skarner2016 opened 2 years ago

skarner2016 commented 2 years ago

func main() { a := new(struct{}) b := new(struct{}) println(a, b, a == b)

c := new(struct{})
d := new(struct{})
fmt.Println(c, d)
println(c, d, c == d)

}

文章链接 https://juejin.cn/post/6974615908861870094 文中提到,因为 fmt.println 方法造成逃逸行为,导致第一个输入 false,第二个输出 true

可能是因为版本问题(我目前是1.17.1),两个都输出的 true ,附图

12