It's been widely considered as a mistake for about two decades now...
> I couldn't even find a standard linked list.
Even? If you need a linked list, then you have a 0.01% use case and shouldn't expect such a niche data structure to be easily available. That said, https://pkg.go.dev/container/list
> What if I have a list where I need to make lots of insertions in the middle?
Then you should use an array. If you're not making full use of the pointer-y nature of a linked list, you shouldn't be using it.
> Where is the data structures package?
Go only got generics in 2022 so the standard library is lacking in ergonomic data structures.
Exactly right. My books (and later, college courses) emphasized linked lists and inheritance as fundamental concepts of programming, but the reality as a working engineer is totally different.
When I first encountered Go, I was still a learner and the lack of these things in the language and standard libraries shocked me. But it turns out that they were writing a language more for practical software engineering than for outdated curricula. At the end of the day, structs, slices, and maps cover 99% of what you need!
It's been widely considered as a mistake for about two decades now...
> I couldn't even find a standard linked list.
Even? If you need a linked list, then you have a 0.01% use case and shouldn't expect such a niche data structure to be easily available. That said, https://pkg.go.dev/container/list
> What if I have a list where I need to make lots of insertions in the middle?
Then you should use an array. If you're not making full use of the pointer-y nature of a linked list, you shouldn't be using it.
> Where is the data structures package?
Go only got generics in 2022 so the standard library is lacking in ergonomic data structures.