码迷,mamicode.com
首页 > 其他好文 > 详细

go lang中局部变量的内存分配

时间:2019-03-10 23:28:44      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:文章   自动   分析   必须   内存结构   nal   使用   编译器   www   

晚上在阅读go lang的资料时突然想到一个问题,go是如何分配变量的内存结构的呢?好在网上的一篇文章做了透彻的分析见【go语言局部变量分配在栈还是堆】。

  其结论是go语言局部变量的分配是由编译器决定的。go语言编译器会自动决定把一个变量放在栈还是放在堆,编译器会做逃逸分析(escape analysis),当发现变量的作用域没有跑出函数范围,就可以在栈上,反之则必须分配在堆。go语言声称这样可以释放程序员关于内存的使用限制,更多的让程序员关注于程序功能逻辑本身。

go lang中局部变量的内存分配

标签:文章   自动   分析   必须   内存结构   nal   使用   编译器   www   

原文地址:https://www.cnblogs.com/xishanlengyu/p/10507988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!