Perhaps looking at the history of the implementation will shed some light: https://github.com/golang/go/commit/01389b966ed81fad6e5fac3e98fe46e162645659
On Sat, May 13, 2017 at 6:28 AM, Keith Brown <keith6...@gmail.com> wrote: > I am learning basic data structures and I chose golang since it provide C > like pointers. While looking at list.go I noticed this in the Element struct > > > type Element { > next, prev *Element //makes sense. Doubly linked list > list *List //Why! I don't understand why there is a pointer to List > Value interface{} //makes sense. Data interface > } > > Source: https://github.com/golang/go/blob/master/src/container/list/list.go > > > > -- > 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.