编译时优化,决定变量是分配在栈上(快速)还是堆上(需要GC)。"逃逸"出其作用域的变量需要在堆上分配。使用 go build -gcflags="-m" 查看决策。理解这一点有助于最小化堆分配并减少GC压力。
go build -gcflags="-m"