On Fri, Aug 23, 2019 at 11:11 PM Lee Rick <blade2i...@gmail.com> wrote: > > it's not my need, hope other methods
What is your need? What are the types of the variables d1, d2, d3 in your example? > > 在 2019年8月24日星期六 UTC+8上午11:43:32,burak serdar写道: >> >> On Fri, Aug 23, 2019 at 9:25 PM Lee Rick <blade...@gmail.com> wrote: >> > >> > i want to do >> > type A struct{ Name string} >> > type B struct{Age int} >> > type C struct{Address string} >> > >> > a, b, c := A{}, B{},C{} >> > have a function >> > d1 := merge(a,b) //d1 like struct{Name string, Age int} >> > d2 := merge(a,c) //d2 like struct{Name string, Address string} >> > d3 := merge(b,c) //d3 like struct{Age int, Address string} >> >> You cannot have a function that merges two structs and returns a new >> one, but you can have structs that are compositions of other structs. >> >> type AB struct { >> A >> B >> } >> >> Struct AB is a struct containing both A and B. You can access the >> members of A and B as though they're members of AB. >> >> ab:=AB{} >> ab.Name="a" >> ab.Age=1 >> >> This is also valid: >> >> ab.A.Name="a" >> ab.B.Age=1 >> >> Initialization has to be explicit though: >> >> ab:=AB{A:A{Name:"name"}, B:B{Age:1}} >> >> >> >> >> > >> > >> > how to realize merge function? anyone can give me a demo >> > >> > -- >> > 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 golan...@googlegroups.com. >> > To view this discussion on the web visit >> > https://groups.google.com/d/msgid/golang-nuts/9d0f4159-146b-4d5b-91c0-8846445a84d4%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/f7e61c2d-1aef-4160-b525-7d9c2488f9e1%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/CAMV2RqrTX01gUEHfimvH3rLgLW6h0bRRRi0mK41vf-fK9wBWoQ%40mail.gmail.com.