我想知道是否有关于原始对象与对象指针的性能基准。
- 我知道在引用类型(例如地图)上使用指针是没有意义的,所以请不要提及它。
- 我知道如果数据需要更新,您“必须”使用指针,所以请不要提及它。
我发现的大多数答案/文档基本上都改写了官方文档中的指南:... If the receiver is large, a big struct for instance, it will be much cheaper to use a pointer receiver.
我的问题只是“大”/“大”是什么意思?字符串上的指针是不是太过分了?带有两个字符串的结构怎么样,带有 3 个字符串字段的结构怎么样?
我认为我们经常处理这个用例,所以这是一个合理的问题。有些人建议不要介意性能问题,但也许有些人希望在有机会的时候使用正确的符号,即使性能增益并不显着。毕竟指针并没有那么昂贵(即额外的一次击键)。
使用指针没有意义的一个例子是引用类型(切片、贴图和通道)
正如中提到的这个线程:
参考的概念只是意味着能够向您推荐某物的目的。这并不神奇。
指针是一个简单的引用,告诉您要查看的位置。
切片告诉您从哪里开始寻找以及多远。
地图和通道也只是告诉您去哪里查看,但是它们引用的数据以及它们支持的操作更加复杂。
关键是所有实际数据都是间接存储的,您所持有的只是有关如何访问它的信息。
因此,在许多情况下,您不需要添加另一层间接,除非您出于某种原因需要双重间接。
As 两两两详细信息在“参数和返回值中的指针与值"、字符串、接口值、函数值也是用指针实现的。
因此,您很少需要在这些对象上使用指针。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)