この記事はGo Advent Calendarのエントリではありません。 Go言語を勉強する人であれば、誰でもがsliceの扱いに躓くであろう。sliceの扱いがちょっとよくわからなかったので、まだよくわかってないけど、ひとまずメモ。 Goのアセンブラに関するドキュメント A Quick Guide to Go's Assembler - The Go Programming Language A Manual for the Plan 9 assembler sliceをアセンブリから扱うには 結論から書くと、今のところの理解では、sliceを関数に渡すとき、フレームにはslice構造体のアドレス、len、cap、そして戻り値のアドレスが積まれている。つまり、次の様なコードを書けば、sliceのアドレスがSI、lenがAX、capがBXに入り、要素の最初の値を返す関数になる。 // fu
![GoのSliceは実際どうなっているのか - BLOG::はるかさん](https://cdn-ak-scissors.b.st-hatena.com/image/square/7e1308282ebf876e6a71f0513773c5a1cdf1d87a/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fh%2Fharukasan%2F20151204%2F20151204122947.png)