Awesome Go Books [![Build Status](https://github.com/dariubs/GoBooks/actions/workflows/main.yml/badge.svg?branch=master)](https://github.com/dariubs/GoBooks/actions/workflows/main.yml) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
====
- [Awesome Go Books ](#awesome-go-books--)
- [**Books**](#books)
- [**Starter Books**](#starter-books)
- [2018 - Learning Go *Free*](#2018---learning-go-free)
- [2018 - Get Programming with Go](#2018---get-programming-with-go)
- [2019 - API Foundations in Go](#2019---api-foundations-in-go)
- [2019 - Go for Javascript Developers *Free*](#2019---go-for-javascript-developers-free)
- [2019 - The Go Workshop](#2019---the-go-workshop)
- [2020 - How to Code in Go](#2020---how-to-code-in-go)
- [2021 - Learning Go: An Idiomatic Approach to Real-World Go Programming](#2021---learning-go-an-idiomatic-approach-to-real-world-go-programming)
- [2022 - Go, from the beginning *Free*](#2022---go-from-the-beginning-free)
- [2022 - Practical Go Lessons *Free*](#2022---practical-go-lessons-free)
- [2022 - Pro Go](#2022---pro-go)
- [2022 - Go for DevOps](#2022---go-for-devops)
- [2022 - gRPC Microservices in Go](#2022---grpc-microservices-in-go)
- [2023 - Learn Go With Tests *Free*](#2023---learn-go-with-tests-free)
- [2023 - Go 101 *Free*](#2023---go-101-free)
- [2023 - Persian - Go Programming Language *Free*](#2023---persian---go-programming-language-free)
- [2023 - For the Love of Go](#2023---for-the-love-of-go)
- [2023 - gRPC Go for Professionals](#2023---grpc-go-for-professionals)
- [2023 - Learn Go with Pocket-Sized Projects](#2023---learn-go-with-pocket-sized-projects)
- [2023 - Go Faster](#2023---go-faster)
- [2023 - Shipping Go](#2023---shipping-go)
- [**Advanced Books**](#advanced-books)
- [2018 - Hands-On Dependency Injection in Go](#2018---hands-on-dependency-injection-in-go)
- [2018 - Security with Go](#2018---security-with-go)
- [2019 - A Go Developer's Notebook](#2019---a-go-developers-notebook)
- [2020 - Black Hat Go](#2020---black-hat-go)
- [2020 - Writing An Interpreter In Go](#2020---writing-an-interpreter-in-go)
- [2020 - Writing A Compiler In Go](#2020---writing-a-compiler-in-go)
- [2020 - Hands-On Software Engineering with Golang](#2020---hands-on-software-engineering-with-golang)
- [2021 - Building Distributed Applications in Gin](#2021---building-distributed-applications-in-gin)
- [2021 - Network Programming with Go](#2021---network-programming-with-go)
- [2021 - Powerful Command-Line Applications in Go](#2021---powerful-command-line-applications-in-go)
- [2021 - Effective Go](#2021---effective-go)
- [2021 - Cloud Native Go - Building Reliable Services in Unreliable Environments](#2021---cloud-native-go---building-reliable-services-in-unreliable-environments)
- [2021 - Everyday Go](#2021---everyday-go)
- [2021 - Practical Go: Building Scalable Network and Non-Network Applications](#2021---practical-go-building-scalable-network-and-non-network-applications)
- [2022 - Microservices with Go](#2022---microservices-with-go)
- [2022 - Event-Driven Architecture in Golang](#2022---event-driven-architecture-in-golang)
- [2022 - Domain-Driven Design with Golang](#2022---domain-driven-design-with-golang)
- [2023 - Go programming language secure coding practices guide *Free*](#2023---go-programming-language-secure-coding-practices-guide-free)
- [2024 - The Power of Go: Tools](#2024---the-power-of-go-tools)
- [2024 - Build an Orchestrator in Go](#2024---build-an-orchestrator-in-go)
- [Go with the Domain: Building Modern Business Software in Go *Free*](#go-with-the-domain-building-modern-business-software-in-go-free)
- [Spaceship Go **Free**](#spaceship-go-free)
- [Ultimate Go Notebook](#ultimate-go-notebook)
- [**Web Development**](#web-development)
- [2019 - Learn Data Structures and Algorithms with Golang](#2019---learn-data-structures-and-algorithms-with-golang)
- [2020 - 12 Factor Applications with Docker and Go](#2020---12-factor-applications-with-docker-and-go)
- [2021 - Webapps in Go the anti textbook *Free*](#2021---webapps-in-go-the-anti-textbook-free)
- [2021 - Build SaaS apps in Go](#2021---build-saas-apps-in-go)
- [2021 - Go Brain Teasers](#2021---go-brain-teasers)
- [2021 - Creative DIY Microcontroller Projects with TinyGo and WebAssembly](#2021---creative-diy-microcontroller-projects-with-tinygo-and-webassembly)
- [2021 - Distributed Services with Go Your Guide to Reliable, Scalable, and Maintainable Systems](#2021---distributed-services-with-go-your-guide-to-reliable-scalable-and-maintainable-systems)
- [2021 - Build Systems with Go: Everything a Gopher Must Know](#2021---build-systems-with-go-everything-a-gopher-must-know)
- [2023 - Let's Go Further](#2023---lets-go-further)
- [Web Development with Go: Learn to Create Real World Web Applications using Go](#web-development-with-go-learn-to-create-real-world-web-applications-using-go)
- [Wasm Cooking with Golang](#wasm-cooking-with-golang)
- [Generative Art in Go](#generative-art-in-go)
- [Building Web Apps with Go *Free*](#building-web-apps-with-go-free)
- [Build Web Application with Golang *Free*](#build-web-application-with-golang-free)
- [2018 - Learning Go *Free*](#2018---learning-go-free)
- [2018 - Get Programming with Go](#2018---get-programming-with-go)
- [2019 - API Foundations in Go](#2019---api-foundations-in-go)
- [2019 - Go for Javascript Developers *Free*](#2019---go-for-javascript-developers-free)
- [2019 - The Go Workshop](#2019---the-go-workshop)
- [2020 - How to Code in Go](#2020---how-to-code-in-go)
- [2021 - Learning Go: An Idiomatic Approach to Real-World Go Programming](#2021---learning-go-an-idiomatic-approach-to-real-world-go-programming)
- [2022 - Go, from the beginning *Free*](#2022---go-from-the-beginning-free)
- [2022 - Practical Go Lessons *Free*](#2022---practical-go-lessons-free)
- [2022 - Pro Go](#2022---pro-go)
- [2022 - Go for DevOps](#2022---go-for-devops)
- [2022 - gRPC Microservices in Go](#2022---grpc-microservices-in-go)
- [2023 - Learn Go With Tests *Free*](#2023---learn-go-with-tests-free)
- [2023 - Go 101 *Free*](#2023---go-101-free)
- [2023 - Persian - Go Programming Language *Free*](#2023---persian---go-programming-language-free)
- [2023 - For the Love of Go](#2023---for-the-love-of-go)
- [2023 - gRPC Go for Professionals](#2023---grpc-go-for-professionals)
- [2023 - Learn Go with Pocket-Sized Projects](#2023---learn-go-with-pocket-sized-projects)
- [2023 - Go Faster](#2023---go-faster)
- [2023 - Shipping Go](#2023---shipping-go)
- [Advanced Books](#advanced-books)
- [2018 - Hands-On Dependency Injection in Go](#2018---hands-on-dependency-injection-in-go)
- [2018 - Security with Go](#2018---security-with-go)
- [2019 - A Go Developer's Notebook](#2019---a-go-developers-notebook)
- [2020 - Black Hat Go](#2020---black-hat-go)
- [2020 - Writing An Interpreter In Go](#2020---writing-an-interpreter-in-go)
- [2020 - Writing A Compiler In Go](#2020---writing-a-compiler-in-go)
- [2020 - Hands-On Software Engineering with Golang](#2020---hands-on-software-engineering-with-golang)
- [2021 - Building Distributed Applications in Gin](#2021---building-distributed-applications-in-gin)
- [2021 - Network Programming with Go](#2021---network-programming-with-go)
- [2021 - Powerful Command-Line Applications in Go](#2021---powerful-command-line-applications-in-go)
- [2021 - Effective Go](#2021---effective-go)
- [2021 - Cloud Native Go - Building Reliable Services in Unreliable Environments](#2021---cloud-native-go---building-reliable-services-in-unreliable-environments)
- [2021 - Everyday Go](#2021---everyday-go)
- [2021 - Practical Go: Building Scalable Network and Non-Network Applications](#2021---practical-go-building-scalable-network-and-non-network-applications)
- [2022 - Microservices with Go](#2022---microservices-with-go)
- [2022 - Event-Driven Architecture in Golang](#2022---event-driven-architecture-in-golang)
- [2022 - Domain-Driven Design with Golang](#2022---domain-driven-design-with-golang)
- [2023 - Go programming language secure coding practices guide *Free*](#2023---go-programming-language-secure-coding-practices-guide-free)
- [2024 - The Power of Go: Tools](#2024---the-power-of-go-tools)
- [2024 - Build an Orchestrator in Go](#2024---build-an-orchestrator-in-go)
- [Go with the Domain: Building Modern Business Software in Go *Free*](#go-with-the-domain-building-modern-business-software-in-go-free)
- [Spaceship Go *Free*](#spaceship-go-free)
- [Ultimate Go Notebook](#ultimate-go-notebook)
- [Web Development](#web-development)
- [2019 - Learn Data Structures and Algorithms with Golang](#2019---learn-data-structures-and-algorithms-with-golang)
- [2020 - 12 Factor Applications with Docker and Go](#2020---12-factor-applications-with-docker-and-go)
- [2021 - Webapps in Go the anti textbook *Free*](#2021---webapps-in-go-the-anti-textbook-free)
- [2021 - Build SaaS apps in Go](#2021---build-saas-apps-in-go)
- [2021 - Go Brain Teasers](#2021---go-brain-teasers)
- [2021 - Creative DIY Microcontroller Projects with TinyGo and WebAssembly](#2021---creative-diy-microcontroller-projects-with-tinygo-and-webassembly)
- [2021 - Distributed Services with Go Your Guide to Reliable, Scalable, and Maintainable Systems](#2021---distributed-services-with-go-your-guide-to-reliable-scalable-and-maintainable-systems)
- [2021 - Build Systems with Go: Everything a Gopher Must Know](#2021---build-systems-with-go-everything-a-gopher-must-know)
- [2023 - Let's Go Further](#2023---lets-go-further)
- [Web Development with Go: Learn to Create Real World Web Applications using Go](#web-development-with-go-learn-to-create-real-world-web-applications-using-go)
- [Wasm Cooking with Golang](#wasm-cooking-with-golang)
- [Generative Art in Go](#generative-art-in-go)
- [Building Web Apps with Go *Free*](#building-web-apps-with-go-free)
- [Build Web Application with Golang *Free*](#build-web-application-with-golang-free)
- [Resources](#resources)
- [A tour of Go](#a-tour-of-go)
- [Video: Learn Go Syntax in one video](#video-learn-go-syntax-in-one-video)
- [Tutorials: Go by Example](#tutorials-go-by-example)
- [Go Fundamentals Video Training](#go-fundamentals-video-training)
- [More Books on the Go Wiki](#more-books-on-the-go-wiki)
Learn Go with Pocket-Sized Projects teaches you to write professional-level Go code by creating handy tools and fun apps. Each small, self-contained project introduces important practical skills, including ensuring that your code is thoroughly tested and documented! You’ll make architectural decisions for your projects and organize your code in a maintainable way. Everything you learn is easy to scale-up to full-size Go applications.
Go is a popular choice for writing DevOps and systems programs, and command-line tools in particular. How can we write simple, powerful, idiomatic, and even beautiful tools in Go? This book covers all the necessary techniques: functional options, flags and arguments, files and filesystems, executing commands, writing shells and pipelines, JSON and YAML wrangling, and even sophisticated API clients.
@ -510,7 +508,7 @@ It features techniques like Domain-Driven Design, Clean Architecture, CQRS (Comm
The book is based on a [real open source project](https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-example).
Chapters go through refactoring of the project to show common anti-patterns and how to avoid them.
@ -531,8 +529,8 @@ This notebook has been designed to provide a reference to everything mentioned i
**Web Development**
----
## Web Development
### 2019 - [Learn Data Structures and Algorithms with Golang](https://www.packtpub.com/product/learn-data-structures-and-algorithms-with-golang/9781789618501)
A book filled with examples on how to use Docker and Go to create the ultimate 12 Factor applications. It goes over individual steps of [The Twelve-Factor App](12factor.net) guidelines and how to implement them with Go and Docker.
A book filled with examples on how to use Docker and Go to create the ultimate 12 Factor applications. It goes over individual steps of [The Twelve-Factor App](https://12factor.net/) guidelines and how to implement them with Go and Docker.
### 2021 - [Webapps in Go the anti textbook](https://github.com/thewhitetulip/web-dev-golang-anti-textbook) *Free*
@ -640,8 +638,7 @@ A good resource for start Building Web Apps with Go.
Another awesome book for learning Web Development in Golang.
Resources
====
## Resources
### [A tour of Go](https://tour.golang.org/)
### [Video: Learn Go Syntax in one video](https://www.youtube.com/watch?v=CF9S4QZuV30)