# Go resources I've considered these resources when making development decisions.😎 __Go is backwards compatible.__ So these resources are still all relevant.⚡️⚡️ ## The Basics * [Effective Go](https://golang.org/doc/effective_go.html) * [Error handling and Go](https://blog.golang.org/error-handling-and-go) * [JSON and Go](https://blog.golang.org/json-and-go) * [Go Slices: usage and internals](https://blog.golang.org/go-slices-usage-and-internals) * [Go maps in action](https://blog.golang.org/go-maps-in-action) * [Idiomatic Go Tricks](https://www.youtube.com/watch?v=yeetIgNeIkc) * [Structuring Applications in Go](https://medium.com/@benbjohnson/structuring-applications-in-go-3b04be4ff091) * [SliceTricks](https://github.com/golang/go/wiki/SliceTricks) * [Go Walkthrough: io package](https://medium.com/go-walkthrough/go-walkthrough-io-package-8ac5e95a9fbd) ## Interfaces [A GIF decoder: an exercise in Go interfaces](https://blog.golang.org/gif-decoder-exercise-in-go-interfaces) ## Testing * [Structuring Tests in Go](https://medium.com/@benbjohnson/structuring-tests-in-go-46ddee7a25c) * [Golang Testing Techniques by Andrew Gerrand](https://talks.golang.org/2014/testing.slide#1) * [Building and Testing a REST API in GoLang using Gorilla Mux and MySQL](https://medium.com/@kelvin_sp/building-and-testing-a-rest-api-in-golang-using-gorilla-mux-and-mysql-1f0518818ff6) * [Prefer table driven tests](https://dave.cheney.net/2019/05/07/prefer-table-driven-tests) ## Concurrency * [Step-by-step guide to concurrency](https://yourbasic.org/golang/concurrent-programming/) * [Learning Go’s Concurrency Through Illustrations](https://medium.com/@trevor4e/learning-gos-concurrency-through-illustrations-8c4aff603b3) * [Concurrency made easy](https://www.youtube.com/watch?v=yKQOunhhf4A) * [Rob Pike - Concurrency Is Not Parallelism](https://vimeo.com/49718712) * [Go Concurrency Patterns](https://www.youtube.com/watch?v=f6kdp27TYZs) * [How to Gracefully Close Channels](https://go101.org/article/channel-closing.html)