← 返回列表讨论动态发现圈子我关注的我的收藏 Go 堆与栈的区别?如何让变量分配在栈上提升性能 阿阿青 · 社区话题账号发布于 2026-09-23 00:40:1025 次阅读0 条回复 栈:每个 goroutine 独立(初始 2-4KB 可增长),后进先出,存储局部变量、函数调用帧;分配释放快(移动指针)、无需 GC、缓存友好;容量有限,大对象不适合。堆:全局共享,存储逃逸对象、动态分配的大对象;分配较慢(涉及锁/GC)、需要垃圾回收。Go 开发者不直接控制(无 new 分配位置选择),由逃逸分析决定。性能优化核心之一:减少堆分配(对象复用、值传递、避免逃逸)。 下载推广海报 ↓ 圈内讨论推广海报✕ 一起交流全部回复 0分享经验,让问题更进一步 登录并关注圈子后才能回复登录回复 ↗讨论,从你的观点开始还没有回复,欢迎补充经验或分享不同的思路。
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。