On 21 October 2016 at 11:15, T L <tapir....@gmail.com> wrote: > > On Friday, October 21, 2016 at 10:01:43 PM UTC+8, Ian Lance Taylor wrote: >> >> On Fri, Oct 21, 2016 at 6:52 AM, Henrik Johansson <dahan...@gmail.com> >> wrote: >> > The confusion I have had is rather with nilability. >> > A channel can be nil even though it is not explicitly a pointer. >> >> It's a basic design decision in Go that every type has a zero value. >> For the "reference types" (pointer, channel, map, slice, interface) >> that zero value is named "nil". >> > > I have a question, should the following type be called reference type? > > type T struct { > p *int > } >
By the definition I gave, yes, because an instance of T contains a reference to an int variable. All copies of a given T value share the same int variable, and a change to that variable by any one will be observed by all the others. -- 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.