Slight correction (I think): If you store a non-pointer in an interface, it won't store the address of the value (variable? values don't have an address, strictly speaking), but will make a copy. Otherwise, this wouldn't work: https://play.golang.org/p/P1YwxBk7lR You can also see these effects here (and feel free to play around a bit): https://play.golang.org/p/GqAUn31A1y
On Tue, Dec 5, 2017 at 2:44 AM, Dave Cheney <d...@cheney.net> wrote: > > > On Tuesday, 5 December 2017 12:19:29 UTC+11, simon place wrote: >> >> in a very similar vein, something i have been wondering about for a while >> now; >> >> when an interface contains a pointer type, does Go double dereference or >> conflate the pointers? >> > > If the *type* of the value placed into the interface is pointer shaped > then it value is used as is, if not, the address of the value is taken, and > the address is used as the interface's value. > > > -- > 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. > For more options, visit https://groups.google.com/d/optout. > -- 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. For more options, visit https://groups.google.com/d/optout.