It really doesn't help that the major (perhaps only?) official resources on generics in golang are these blog posts [1][2] and the spec. And now this blog post.<p>The whole "what type am I getting"/make()ing is really tricky (as outlined in this doc) especially when its a pointer/interface/slice/etc. And a lot of feels like it doesn't need to be as much of a complex decision tree as it is. Is there any other documentation on this stuff that I'm missing?<p>Theres a lot of complication buried in golang people don't talk about that much. nil vs empty slices, interface{} and any behavior differences, make() and what it would do for various type scenarios, impossible to remember channel semantics (which ones panic again?). Of course, theres always a good explanation for why it is the way it is, but for a language so opinionated, stronger opinions on better DX in the deeper parts would be great.<p>[1] <a href="https://go.dev/blog/intro-generics" rel="nofollow noreferrer">https://go.dev/blog/intro-generics</a>
[2] <a href="https://go.dev/doc/tutorial/generics" rel="nofollow noreferrer">https://go.dev/doc/tutorial/generics</a>