GoCon 2013 Autumn で「Go言語のスタックとヒープ」という発表をしました。 資料はこちら: http://goo.gl/s6at62 スライドだけでは分かりにくい部分もあるので、ブロク記事として以下にも記しておきます。(この記事を読めば、スライドは読まなくてOKなはず) スタックとヒープについて 実行時に動的にメモリを確保する領域として、スタックとヒープがある。 スタックメモリは関数のコールスタックを格納していて、ローカル変数、引数、戻り値もここに置かれる。 スタックのPushとPopは高速なので、オブジェクトをスタックメモリに確保するコストは小さい。ただし関数を抜けてスタックがPopされると解放されるので、関数の寿命を超えてオブジェクトは生存できない。 一方のヒープメモリは、コールスタックとは関係ないので、関数スコープに縛られずにオブジェクトを確保しておける。ただし空き領
![Go言語のスタックとヒープ](https://cdn-ak-scissors.b.st-hatena.com/image/square/cb7cc6c41d34cd8bfc2d4784e5e04a3cdabe778f/height=288;version=1;width=512/http%3A%2F%2F4.bp.blogspot.com%2F-SsBtIZpALUE%2FUlzrkC2PnBI%2FAAAAAAAADsc%2FW-Du7hsLLj0%2Fw1200-h630-p-k-no-nu%2FUntitled%2B%282%29.png)