想想这个案子:
s := make([]byte, 512, 1024)
(*reflect.SliceHeader)((unsafe.Pointer(&s))).Cap = 512
是GC可以收集的最后512字节内存吗?
不管是不是,为什么?
答案 0 :(得分:1)
据我所知,当前的垃圾收集器不会收集部分切片或字符串。对于:
也是如此s=s[:512:512] // Like your example but idiomatically starting in Go1.3
s=s[128:] // first 128 elements are not collected.