icz*_*cza 8
unsafe.Sizeof()
该大小不包括x可能引用的任何内存。例如,如果x是切片,则Sizeof返回切片描述符的大小,而不是该切片所引用的内存的大小。
unsafe.Sizeof(somemap)
reflect.StringHeader
type StringHeader struct {
Data uintptr
Len int
}
unsafe.Sizeof(somestring)stringLen
要获取映射的实际内存需求(“深度”),请参阅golang映射保留多少内存?以及如何在Golang中获取变量的内存大小?
stringlen()stringstring
var str string = "some string"
stringSize := len(str) + unsafe.Sizeof(str)
string
例如:
s := "some loooooooong string"
s2 := s[:2]
s2len(s2) + unsafe.Sizeof(str) = 2 + unsafe.Sizeof(str)s