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/httppackage. - 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. Please ensure your submission fully follows the requirements outlined in CONTRIBUTING.md, including formatting, scope alignment, and category placement.
Pull requests that do not adhere to the contribution guidelines may be closed.