![捕获1.JPG](https://static.studygolang.com/190822/b22fda8ed511728df822d76c9a31715b.JPG)
![捕获2.JPG](https://static.studygolang.com/190822/cc4566dcf55765ce5f8dee1e0441c7d6.JPG)
上面那个列子和我想的一样 按照对齐的规则计算的
type class struct { //32
fff byte //1
className string //16
}
func main(){
c:=class{
className:"111",
fff:1,
}
fmt.Println(unsafe.Sizeof(c.className))
fmt.Println(unsafe.Sizeof(c.fff))
fmt.Println(unsafe.Sizeof(c))
}
但是这个东西是怎么回事 怎么Sizeof(c) 怎么会是24
不是应该是 0XXXXXXXXXXXXXXX(X代表填写15个空字节) 16...32 一共32个大小吗?因为string是16个字节(8个节点时指针类型 8个字节长度)
有疑问加站长微信联系(非本文作者))