Golang中的一个小对象是什么?

时间:2018-04-27 02:13:07

标签: go

在一些Golang提示中说:小对象应该通过值传递,大对象应该通过引用传递。

但是小物体有多大的物体?

如果结构有10个以上的字段。它应该通过值?

1 个答案:

答案 0 :(得分:2)

正如你从讨论中看到的那样,#34;很难"了解何时使用指针或引用。如果您正在学习Golang,我建议使用这种方法来决定何时使用指针或引用:

我只需要将结构用于读取目的

在这种情况下,我建议使用指向结构的指针,这是出于性能原因(复制结构是一个耗时的操作,你可以告诉,无论是否是"大&#34结构或小结构。)

我需要在多个函数上使用一个struct,每个函数都在struct上写一些东西,但各种函数应该互不影响

在这种情况下,您应该将结构作为参考传递。

我需要在多个函数上使用一个struct,每个都在struct上写一些东西,各个函数应该使用前一个函数的结果

在这种情况下,您应该通过指针传递结构。

正如您所看到的,这种方法避免考虑"维度"结构的使用和注重结构的使用,我认为这是一个更好的方法,因为定义结构的维度并不总是很容易。