A curated list of awesome Go resources and tips to help you become a more productive and proficient Go developer.
- Official Resources
- Community
- Learning Resources
- Libraries and Packages
- Tools
- Testing
- Concurrency
- Web Development
- Networking
- Database
- Command Line
- Security
- Miscellaneous
- Go Official Website: The official website of Go programming language.
- Go Documentation: The official Go documentation, including the language specification and standard library reference.
- Go Playground: An online Go editor and playground to experiment with Go code snippets.
- Gopher Slack: A vibrant community of Go developers where you can ask questions and discuss various topics related to Go.
- Go Forum: An online forum dedicated to discussions on Go programming.
- r/golang: The Go subreddit where you can find news, articles, and discussions related to Go programming.
- A Tour of Go: An interactive tutorial that provides a quick introduction to Go programming.
- Go by Example: A collection of hands-on Go examples that cover various Go language features.
- Learn Go with Tests: A comprehensive guide to learning Go by writing tests.
- Go Bootcamp: An online book that covers the basics of Go programming.
- Just for Func: A YouTube channel featuring tutorials and discussions on Go programming by Francesc Campoy.
- Go Time: A podcast that explores topics in the Go programming language.
- Gin: A lightweight web framework for building fast and efficient Go web applications.
- Echo: A high-performance, minimalist web framework for Go.
- GORM: A powerful and feature-rich ORM library for Go.
- Viper: A flexible configuration management library for Go.
- Mux: A powerful HTTP router and URL matcher for building Go web applications.
- Cobra: A library for creating powerful command-line applications in Go.
- Testify: A popular testing toolkit for Go that provides various utilities and assertions.
- GoLand: An IDE for Go programming language developed by JetBrains.
- Visual Studio Code: A lightweight and versatile code editor with excellent Go support.
- Delve: A debugger for the Go programming language.
- GoFmt: The official Go formatter that automatically formats Go code according to the language specification.
- Dep: A dependency management tool for Go projects.
- Go Report Card: A web service that provides a report card for Go projects based on static analysis.
- Present: A tool for creating and displaying interactive slide presentations in Go.
- Go Testing: The official Go testing package for writing unit tests.
- Ginkgo: A BDD-style testing framework for Go that focuses on readability and ease of use.
- Mockery: A tool for generating mock implementations in Go.
- Testify: A popular testing toolkit for Go that provides various utilities and assertions.
- Goroutines: An introduction to goroutines and concurrent programming in Go.
- Channels: A guide to using channels for communication and synchronization between goroutines.
- Context: The official package for managing and canceling goroutine-based operations.
- Gin: A lightweight web framework for building fast and efficient Go web applications.
- Echo: A high-performance, minimalist web framework for Go.
- Fiber: An Express.js-inspired web framework for Go that focuses on speed and simplicity.
- Buffalo: A web development eco-system for Go that includes a web framework, database migration tools, and more.
- Chi: A lightweight, idiomatic, and composable router for building Go HTTP services.
- Net: The official Go package for networking operations.
- gRPC: A high-performance, open-source framework for building distributed systems with Go.
- Fasthttp: A fast HTTP implementation for Go that outperforms the standard library's
net/http
package. - Mux: A powerful HTTP router and URL matcher for building Go web applications.
- GORM: A powerful and feature-rich ORM library for Go.
- MongoDB: The official MongoDB driver for Go.
- PostgreSQL: A PostgreSQL driver and toolkit for Go.
- Redis: A Redis client library for Go.
- Cobra: A library for creating powerful command-line applications in Go.
- Viper: A flexible configuration management library for Go.
- Promptui: A library for creating interactive prompts in Go.
- Color: A library for adding color and formatting to command-line output in Go.
- Secure: The official package that provides cryptographic functions and protocols in Go.
- JWT: A JSON Web Token implementation in Go.
- bcrypt: The official package for hashing and verifying passwords using the bcrypt algorithm.
- CORS: A package for handling Cross-Origin Resource Sharing (CORS) in Go.
- Error Handling: A blog post that discusses error handling techniques in Go.
- Go Best Practices: A collection of Go best practices and tips by Dave Cheney.
- Go Design Patterns: A repository that contains various design patterns implemented in Go.
- Effective Go: The official guide to writing clear, idiomatic, and effective Go code.
Contributions are welcome!