"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
> <https://groups.google.com/d/msgid/golang-nuts/5d84ba06-ec44-477d-a90e-b67dc14535fan%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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.

Reply via email to