在一些Golang提示中说:小对象应该通过值传递,大对象应该通过引用传递。
但是小物体有多大的物体?
如果结构有10个以上的字段。它应该通过值?
答案 0 :(得分:2)
正如你从讨论中看到的那样,#34;很难"了解何时使用指针或引用。如果您正在学习Golang,我建议使用这种方法来决定何时使用指针或引用:
我只需要将结构用于读取目的
在这种情况下,我建议使用指向结构的指针,这是出于性能原因(复制结构是一个耗时的操作,你可以告诉,无论是否是"大&#34结构或小结构。)
我需要在多个函数上使用一个struct,每个函数都在struct上写一些东西,但各种函数应该互不影响
在这种情况下,您应该将结构作为参考传递。
我需要在多个函数上使用一个struct,每个都在struct上写一些东西,各个函数应该使用前一个函数的结果
在这种情况下,您应该通过指针传递结构。
正如您所看到的,这种方法避免考虑"维度"结构的使用和注重结构的使用,我认为这是一个更好的方法,因为定义结构的维度并不总是很容易。