func main() {
var cs CustomStruct
r := []byte{.......}
err:=proto.Unmarshal(r, &cs)
if err!=nil {
panic(err)
}
}
当我跑步时go build -gcflags="-m" ./...
,我得到
移动到堆:CustomStruct
但稍作改动,它就不会移动到堆中:
func main() {
var cs *CustomStruct
r := []byte{.......}
err:=proto.Unmarshal(r, cs)
if err!=nil {
panic(err)
}
}
现在,当我运行 escape-analysis 命令时,它并没有说它CustomStruct
被移到了堆中。这里到底发生了什么?