鉴于该方法具有指针接收器,因此存储新值是规范的。例如:type MyTime time.Timefunc (mt *MyTime) Change(other time.Time) { *mt = MyTime(other)}但是没有指针接收器有可能吗?type MyTime time.Timefunc (mt MyTime) Change(other time.Time) { // ???}也许使用reflect或atomic包装?
1 回答
森林海
TA贡献2011条经验 获得超2个赞
不。
当您使用值接收器调用方法时,将使用接收器的副本调用该方法。对接收器执行的任何修改都将在该副本上完成。换句话说:
x:=myTime{}
x.ValueReceiverFunc()
相当于:
x:=myTime{}
y:=x
y.ValueReceiverFunc()
- 1 回答
- 0 关注
- 93 浏览
添加回答
举报
0/150
提交
取消