一、go语言内存布局 想象一下,你有一个如下的结构体。 代码如下: type MyData struct { aByte byte aShort int16 anInt32 int32 aSlice []byte } 那么这个结构体究竟是什么呢? 从根本上说,它描述了如何在内存中布局数据。 这是什么意思?编译器又是如何展现出来呢? 我们来看一下。 首先让我们使用反射来检查结构中的字段。 二、反射之上 下面是一些使用反射来找出字段大小及其偏移量(它们相对于结构的开始位于内存中的位置)的代码。 反射可以告诉我们编译器是