Project Awesome project awesome

Go Books

Collection 19.3k stars GitHub

Advanced Books

Go by Example 133.2k updated 2d ago

Go by Example is a practical guide to writing high-quality code that's easy to test and maintain. The book is full of best practices to adopt and anti-patterns to dodge. It explores what makes Go so dramatically different from other languages, and how you can still leverage your existing skills into writing excellent Go code. Aimed at Go beginners looking to graduate to serious Go development, you'll write and test command line applications, web API clients and servers, concurrent programs, and more.

Building Distributed Applications in Gin

Gin is a high-performance HTTP web framework used to build web applications and microservices in Go. This book is designed to teach you the ins and outs of the Gin framework with the help of practical examples. You'll start by exploring the basics of the Gin framework, before progressing to build a real-world RESTful API. Along the way, you'll learn how to write custom middleware and understand the routing mechanism, as well as how to bind user data and validate incoming HTTP requests. The book also demonstrates how to store and retrieve data at scale with a NoSQL database such as MongoDB, and how to implement a caching layer with Redis. Next, you'll understand how to secure and test your API endpoints with authentication protocols such as OAuth 2 and JWT. Later chapters will guide you through rendering HTML templates on the server-side and building a frontend application with the React web framework to consume API responses. Finally, you'll deploy your application on Amazon Web Services (AWS) and learn how to automate the deployment process with a continuous integration and continuous delivery (CI/CD) pipeline. By the end of this Gin book, you will be able to design, build, and deploy a production-ready distributed application from scratch using the Gin framework.

Everyday Go

This book is a compilation of practical examples, lessons and techniques for Go developers. The topics cover the software lifecycle from learning the fundamentals, to software testing, to distribution and monitoring. - Learn unit testing - Make lovely CLIs - Monitor services - Release with GitHub Actions - Ship it with Docker - Work out Goroutines

Go with the Domain: Building Modern Business Software in Go

Free Go with the Domain is a book on building Go applications that solve complex problems in an idiomatic way. It features techniques like Domain-Driven Design, Clean Architecture, CQRS (Command Query Responsibility Segregation), and other patterns. The book is based on a real open source project. Chapters go through refactoring of the project to show common anti-patterns and how to avoid them.