[...] a copy *of* the pointed-to value.
On Wednesday, March 28, 2018 at 6:54:53 PM UTC+2, thwd wrote:
>
> Hi. Don't worry, I do get pointers and pass-by-value.
>
> I expected the expression (*x) to yield a copy to the pointed-to value.
>
> But, as you say, that happens on assignment.
>
> On Wedne
Hi. Don't worry, I do get pointers and pass-by-value.
I expected the expression (*x) to yield a copy to the pointed-to value.
But, as you say, that happens on assignment.
On Wednesday, March 28, 2018 at 6:50:06 PM UTC+2, Devon H. O'Dell wrote:
>
> 2018-03-28 9:39 GMT-07:00 Devon H. O'Dell >:
>
2018-03-28 9:39 GMT-07:00 Devon H. O'Dell :
> CopyExplicitDeref gets a pointer to the struct in its receiver. If you
> have a pointer to T, then taking a pointer to the dereferenced T is a
> no-op: you get the pointer of the thing you just dereferenced. Any
> statement &*whatever will always yield
CopyExplicitDeref gets a pointer to the struct in its receiver. If you
have a pointer to T, then taking a pointer to the dereferenced T is a
no-op: you get the pointer of the thing you just dereferenced. Any
statement &*whatever will always yield the value of whatever. Copy
happens on assignment, a
Even more surprising, make this small change to the previous playground
link code:
func (t *T) CopyExplicitDeref() *T {
x := *t
return &x
}
Merely introducing a local variable changes the behavior of the method.
On Wednesday, March 28, 2018 at 6:21:49 PM UTC+2, thwd wrote:
>
> https://play.gola