Whenever you take the address of something the compiler is going to have a hard 
time with escape analysis due to aliasing. Especially with a complex function 
like println with varadic args. 

> On Jun 1, 2021, at 11:55 AM, 'Axel Wagner' via golang-nuts 
> <golang-nuts@googlegroups.com> wrote:
> 
> 
> "escape" as in "the compiler's escape analysis decides to put it on the heap, 
> instead of the stack". You can compile using `-gcflags=-m` to test that 
> yourself.
> 
>> On Tue, Jun 1, 2021 at 6:39 PM Robert Glonek <rob...@glonek.co.uk> wrote:
>> What do you mean by escape? It prints the ptr to y, like the previous prints 
>> the ptr to x. Y is the same pointer throughout, as it should be.
>> 
>>> On Tuesday, 1 June 2021 at 14:51:50 UTC+1 tapi...@gmail.com wrote:
>>> 
>>> package main
>>> 
>>> func newIntPtr(n int) *int {
>>>     return &n
>>> }
>>> 
>>> func main() {
>>>     x := newIntPtr(3)
>>>     y := newIntPtr(5)
>>>     c := make(chan bool)
>>>     go func() {
>>>         *y++
>>>         close(c)
>>>     }()
>>>     <-c
>>>     println(*x, *y)
>>>     println(&x)
>>>     //println(&y) // This line makes y escape.
>>> }
>>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "golang-nuts" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to golang-nuts+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/golang-nuts/5d84ba06-ec44-477d-a90e-b67dc14535fan%40googlegroups.com.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/CAEkBMfG5B1ptrRKywuU%2BHc2kedvL06XN871pCYusst8MP6sSjg%40mail.gmail.com.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/B400BC99-ADCC-4001-8B78-294C6915062E%40ix.netcom.com.

Reply via email to