我经常处理结构的片段,下面是这样一个结构的例子:
type MyStruct struct {
val1, val2, val3 int
text1, text2, text3 string
list []SomeType
}
因此,我将我的切片定义如下:
[]MyStruct
假设我有大约100万个元素在里面,我正在大量地处理这个切片:
我的理解是,这会导致对实际的结构进行大量的重组。另一种方法是创建指向结构的一片指针:
[]*MyStruct
现在,结构仍然保持不变,我们只处理指针,我假设这些指针占用的空间较小,因此会使我的操作更快。但现在我要给垃圾收集工更多的工作。