内存管理
在栈中创建对象比在堆中创建对象性能高,少用new来创建对象,多用object{}创建,如果需要创建大量相同临时对象,使用sync.pool减少gc压力。
原因:因为heap上的变量需要gc,而stack上的自动释放,如果在函数里面创建许多生命周期很短的heap变量,会不断触发gc。
有疑问加站长微信联系(非本文作者)

在栈中创建对象比在堆中创建对象性能高,少用new来创建对象,多用object{}创建,如果需要创建大量相同临时对象,使用sync.pool减少gc压力。
原因:因为heap上的变量需要gc,而stack上的自动释放,如果在函数里面创建许多生命周期很短的heap变量,会不断触发gc。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
在栈中创建对象比在堆中创建对象性能高,少用new来创建对象,多用object{}创建,如果需要创建大量相同临时对象,使用sync.pool减少gc压力。
原因:因为heap上的变量需要gc,而stack上的自动释放,如果在函数里面创建许多生命周期很短的heap变量,会不断触发gc。
我觉得不是用不用new 的问题。而是什么情况下用值,什么情况下用指针。用new 创建返回的是对象指针,而object{}是对象本身