true:

a := &T{Name:"test", Child: &T{Name: "blah", Child: nil}}
b :=&T{Name:"test", Child: a.Child}


and it's not "childs"



пятница, 23 ноября 2018 г., 6:20:31 UTC+3 пользователь Jesse McNelis 
написал:
>
> On Fri, Nov 23, 2018 at 2:06 PM Youqi yu <yuyouq...@gmail.com 
> <javascript:>> wrote: 
> > 
> > type T { 
> >  Name string 
> > } 
> > a := &T{Name:"test"} 
> > b :=&T{Name:"test"} 
> > *a == *b 
> > Hi, all, I am beginner at golang, I have a question that when compare 
> struct equality, I was told to use reflect.DeepEqual or make my own 
> function. but the result of above code is true. Does it mean struct a 
> equals struct b? 
>
> Yes, they are equal. But how the equality is decided may not always be 
> what you want. 
> eg. 
>
> type T { 
>    Name string 
>    Child *T 
> } 
> a := &T{Name:"test", Child: &T{Name: "blah", Child: nil}} 
> b :=&T{Name:"test", Child: &T{Name: "blah", Child: nil}} 
> *a == *b // false 
> reflect.DeepEqual(a,b) //true 
>

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

Reply via email to