登录 立即注册

首页 > 绿虎论坛 > 电脑 > 讨论/求助 (发帖)

标题: go的值接受体?

作者: @Ta

时间: 2023-06-27

点击: 8576

感觉作用不大,毕竟新建一个类,肯定是想着用类本身变量
掌缘生灭(白)


[隐藏样式|查看源码]


『回复列表(10|显示机器人聊天)』

3.

嗯,我也觉得没用,因为我没基本都是*
https://www.chengyao.xyz

(/@Ta/2023-06-27 14:02//)

4.

在一些比较大的变量下,用 * 可以避免内存拷贝
~~~

(/@Ta/2023-06-27 17:44//)

5.

如果对象很小,可以直接放在寄存器上(<=64位),用值接收者可以更快,因为可以优化为寄存器拷贝,避免了内存寻址。如果用指针接收者,就必须为对象分配内存地址,会稍慢。

(/@Ta/2023-06-27 18:43//)

6.

@老虎会游泳 对于Golang而言,对象内存的分配在哪儿是不可控的吧,因为都是由 runtime 来负责内存分配;对于小对象,runtime 内部有针对小尺寸的分配策略。
~~~

(/@Ta/2023-06-27 20:48//)

7.

@㝶芾厶眵攴䭡,如果编译时已经优化成寄存器拷贝了,就不会有内存分配了。

(/@Ta/2023-06-28 09:29//)

8.

@老虎会游泳 好吧,1.17版本新特性,又学到了新知识。
~~~

(/@Ta/2023-06-28 11:06//)

9.

@㝶芾厶眵攴䭡,我其实不知道是新特性,只是做理论分析。

(/@Ta/2023-06-28 11:23//)

10.

@老虎会游泳 骗我感情鸡哔你,罚你三小时不能喝水。
~~~

(/@Ta/2023-06-28 11:35//)

11.

@老虎会游泳,但是我想了一下,值接受体没法保证原子性,比如说,值接受体是拷贝原类副本,拷贝过程中如果旧类改变了么,指针接受体不会有这个问题
掌缘生灭(白)

(/@Ta/2023-06-29 00:30//)

12.

@c,本来就不应该做这种改变。如果可能会改变又没加锁,就是bug。

(/@Ta/2023-06-29 08:26//)

回复需要登录

5月17日 19:50 星期五

本站由hu60wap6华为CPU驱动

备案号: 京ICP备18041936号-1