Top 50 Awesome List

dariubs/GoBooks

Books  2 months ago  13k
List of Golang books
View byDAY/WEEK/README
View on Github

Awesome Go Books Build Status Awesome

Books

Starter Books

The Little Go Book Free

The Little Go Book is a free introduction to Google's Go programming language. It's aimed at developers who might not be quite comfortable with the idea of pointers and static typing. It's longer than the other Little books, but hopefully still captures that little feeling.

An Introduction to Programming in Go Free

This book is a short, concise introduction to computer programming using the language Go. Designed by Google, Go is a general purpose programming language with modern features, clean syntax and a robust well-documented common library, making it an ideal language to learn as your first programming language.

This book is free to read online or pdf form.

Go Bootcamp Free

This companion book contains material initially written specifically for this event as well as content from Google & the Go team under Creative Commons Attribution 3.0 License and code licensed under a BSD license.

Learning Go Free

A online book to start learning Golang. It features numerous exercises (and answers).

The markdown source is available on Githubstars496.

Go for Javascript Developersstars1.1k Free

This book helps Javascripters become Gophers. Outlining the differences between these languages makes it easier to switch back and forth, and can help mitigate potential issues when doing so.

Learn Go With Tests Free

Learn Go guided by tests. Write a test, learn a new Go language feature to make it pass, refactor and repeat. You'll get a grounding in test-driven development and importantly understand the principles behind it.

Go 101 Free

Go 101 is a book focusing on Go syntax/semantics and all kinds of runtime related things (Go 1.17-pre ready) and tries to help gophers gain a deep and thorough understanding of Go. This book also collects many details of Go and in Go programming. It is expected that this book is helpful for both beginner and experienced Go programmers.

Go, from the beginning Free

In this book you will learn the following:

  • Build Console apps
  • Create Web APIs
  • Test your code
  • Create and publish reusable packages that others can consume
  • Organize your files in a project
  • Work with files and directories
  • Parse text with the string library and regular expressions.

Practical Go Lessons Free

Practical Go Lessons has 41 chapters and more than 700 pages with illustrations. It is suitable for anybody how wants to start programming with the Go language. It assumes no prior knowledge. Each chapter contains test questions with detailed answers. The HTML version is free. You can support the author by buying the PDF or Paper version.

Go in Action

Go in Action introduces the Go language, guiding you from inquisitive developer to Go guru. The book begins by introducing the unique features and concepts of Go. (We assume you're up to speed with another programming language already, so don't expect to spend a lot of time rehearsing stuff you already know.) Then, you'll get hands-on experience writing real-world applications including web sites and network servers, as well as techniques to manipulate and convert data at speeds that will make your friends jealous. In the final chapters, you'll go in-depth with the language and see the tricks and secrets that the Go masters are using to make their applications perform. For example, you'll learn to use Go's powerful reflection libraries and work with real-world examples of integration with C code.

Go Programming Blueprints - 2nd Ed.

This book shows you how to build powerful systems and drops you into real-world situations. Scale, performance, and high availability lie at the heart of our projects, and the lessons learned throughout this book will arm you with everything you need to build world-class solutions.

Programming in Go: Creating Applications for the 21st Century

Programming in Go brings together all the knowledge you need to evaluate Go, think in Go, and write high-performance software with Go. Summerfield presents multiple idiom comparisons showing exactly how Go improves upon older languages, calling special attention to Go’s key innovations. Along the way, he explains everything from the absolute basics through Go’s lock-free channel-based concurrency and its flexible and unusual duck-typing type-safe approach to object-orientation.

The Go Programming Language

The Go Programming Language is the authoritative resource for any programmer who wants to learn Go. Alan A. A. Donovan and Brian W. Kernighan show you how to write clear and idiomatic Go to solve real-world problems. The book does not assume prior knowledge of Go nor experience with any specific language, so you'll find it accessible whether you're most comfortable with JavaScript, Ruby, Python, Java, or C++.

The book features hundreds of interesting and practical examples of idiomatic Go code that cover the whole language, its most important libraries, and a wide range of applications. Source code is freely available for download from the book's companion web site gopl.io, and may be conveniently fetched, built, and installed using the go get command.

Introducing Go: Build Reliable, Scalable Programs

Perfect for beginners familiar with programming basics, this hands-on guide provides an easy introduction to Go, the general-purpose programming language from Google. Author Caleb Doxsey covers the language's core features with step-by-step instructions and exercises in each chapter to help you practice what you learn.

Get Programming with Go

Get Programming with Go introduces you to the powerful Go language without confusing jargon or high-level theory. By working through 32 quick-fire lessons, you'll quickly pick up the basics of the innovative Go programming language!

Go Programming by Example

Go, commonly referred to as golang, is a programming language initially developed at Google in 2007. This book helps you to get started with Go programming. It describes all the elements of the language and illustrates their use with code examples.

Go Recipes

Solve your Go problems using a problem-solution approach. Each recipe is a self-contained answer to a practical programming problem in Go. Go Recipes contains recipes that deal with the fundamentals of Go, allowing you to build simple, reliable, and efficient software. Other topics include working with data using modern NoSQL databases such as MongoDB and RethinkDB. The book provides in-depth guidance for building highly scalable backend APIs in Go for your mobile client applications and web client applications.

Learning Go programming

Learning Go Programming is a book intended to help new, and seasoned programmers alike, to get into the Go programming language. The book distills the language specs, the documentations, the blogs, the videos, slides, and the author's experiences of writing Go into content that carefully provides the right amount of depth and insights to help you understand the language and its design.

API Foundations in Go

With this book you'll learn to use Go, taking advantage of it's multi-threaded nature, and typed syntax. Starting your API implementation in Go is your first step towards what a rock solid API should be.

How to Code in Go

This book is designed to introduce you to writing programs with the Go programming language. You’ll learn how to write useful tools and applications that can run on remote servers, or local Windows, macOS, and Linux systems for development. Available in epub and pdf.

For the Love of Go

This book introduces Go to complete beginners, as well as those with some experience programming in other languages. It explains test-driven development (TDD) in Go, how to use data types including structs, slices, and maps, and also shows how to add behaviour to objects using methods and pointers. Includes dozens of code challenges, with complete solutions and tests.

The Go Workshop

The Go Workshop will take the pain out of learning the Go programming language (also known as Golang). It is designed to teach you to be productive in building real-world software. Presented in an engaging, hands-on way, this book focuses on the features of Go that are used by professionals in their everyday work.

Learning Go: An Idiomatic Approach to Real-World Go Programming

Go is rapidly becoming the preferred language for building web services. While there are plenty of tutorials available that teach Go's syntax to developers with experience in other programming languages, tutorials aren't enough. They don't teach Go's idioms, so developers end up recreating patterns that don't make sense in a Go context. This practical guide provides the essential background you need to write clear and idiomatic Go.

No matter your level of experience, you'll learn how to think like a Go developer. Author Jon Bodner introduces the design patterns experienced Go developers have adopted and explores the rationale for using them. You'll also get a preview of Go's upcoming generics support and how it fits into the language.

  • Learn how to write idiomatic code in Go and design a Go project
  • Understand the reasons for the design decisions in Go
  • Set up a Go development environment for a solo developer or team
  • Learn how and when to use reflection, unsafe, and cgo
  • Discover how Go's features allow the language to run efficiently
  • Know which Go features you should use sparingly or not at all

Pro Go

Starting from the basics and building up to the most advanced and sophisticated features. You will learn how Go builds on a simple and consistent type system to create a comprehensive and productive development experience that produces fast and robust applications that run across platforms.

  • Gain a solid understanding of the Go language and tools
  • Gain in-depth knowledge of the Go standard library
  • Use Go for concurrent/parallel tasks
  • Use Go for client- and server-side development

Go for DevOps

Go is the go-to language for DevOps libraries and services, and without it, achieving fast and safe automation is a challenge. With the help of Go for DevOps, you'll learn how to deliver services with ease and safety, becoming a better DevOps engineer in the process.

Some of the key things this book will teach you are how to write Go software to automate configuration management, update remote machines, author custom automation in GitHub Actions, and interact with Kubernetes. As you advance through the chapters, you'll explore how to automate the cloud using software development kits (SDKs), extend HashiCorp's Terraform and Packer using Go, develop your own DevOps services with gRPC and REST, design system agents, and build robust workflow systems.

By the end of this Go for DevOps book, you'll understand how to apply development principles to automate operations and provide operational insights using Go, which will allow you to react quickly to resolve system failures before your customers realize something has gone wrong.

gRPC Microservices in Go

For the last decade, we have heard stories about Monolith to Microservice transitions and we might think that this transition solves the majority of the problems in the organizations. However, it might end up with mess if you are not aware about best practices of this transition, since Microservice Architecture comes with its challenges. In this book, we start covering production grade best practices of Microservices Architecture and explain when to use it. Then we talk about microservice communication patterns where gRPC comes to the stage. You will see complete examples written in Go with Hexagonal Architecture applied to project structure. You will not only learn how to implement microservices, you will see how to write tests, maintain quality with proper CI, deploy to Kubernetes environment and finally set up an observable system to have better monitoring for your application.

Advanced Books

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.

Test-driven development with Go Free

A short guide to Test-driven development in golang. free to read online.

Go programming language secure coding practices guide Free

The main goal of this book is to help developers avoid common mistakes while at the same time, learning a new programming language through a "hands-on approach". This book provides a good level of detail on "how to do it securely" showing what kind of security problems could arise during development.

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 projectstars3k. Chapters go through refactoring of the project to show common anti-patterns and how to avoid them.

Network Programming with Go

Dive into key topics in network architecture and Go, such as data serialization, application level protocols, character sets and encodings. This book covers network architecture and gives an overview of the Go language as a primer, covering the latest Go release.

Beyond the fundamentals, Network Programming with Go covers key networking and security issues such as HTTP and HTTPS, templates, remote procedure call (RPC), web sockets including HTML5 web sockets, and more.

Network Programming with Go

Network Programming with Go will help you leverage Go to write secure, readable, production-ready network code. Network Programming with Go is all you'll need to take advantage of Go's built-in concurrency, rapid compiling, and rich standard library.

Mastering Concurrency in Go

This book will take you through the history of concurrency, how Go utilizes it, how Go differs from other languages, and the features and structures of Go's concurrency core. Each step of the way, the book will present real, usable examples with detailed descriptions of the methodologies used. By the end, you will feel comfortable designing a safe, data-consistent, high-performance concurrent application in Go.

Go in Practice

Go in Practice guides you through dozens of real-world techniques in key areas like package management, microservice communication, and more. Following a cookbook-style Problem/Solution/Discussion format, this practical handbook builds on the foundational concepts of the Go language and introduces specific strategies you can use in your day-to-day applications. You'll learn techniques for building web services, using Go in the cloud, testing and debugging, routing, network applications, and much more.

A Go Developer's Notebook

A developer's exprience in golang.

The Go Programming Language Phrasebook

Tested, easy-to-adapt code examples illuminate every step of Go development, helping you write highly scalable, concurrent software. You’ll master Go-specific idioms for working with strings, collections, arrays, error handling, goroutines, slices, maps, channels, numbers, dates, times, files, networking, web apps, the runtime, and more.

Go Design Patterns

Learn idiomatic, efficient, clean, and extensible Go design and concurrency patterns by using TDD.

Black Hat Go

In Black Hat Go, you'll learn how to write powerful and effective penetration testing tools in Go, a language revered for its speed and scalability. Start off with an introduction to Go fundamentals like data types, control structures, and error handling; then, dive into the deep end of Go’s offensive capabilities.

Concurrency in Go

Concurrency can be notoriously difficult to get right, but fortunately, the Go open source programming language makes working with concurrency tractable and even easy. If you’re a developer familiar with Go, this practical book demonstrates best practices and patterns to help you incorporate concurrency into your systems.

Hands-On Dependency Injection in Go

Hands-On Dependency Injection in Go takes you on a journey, teaching you about refactoring existing code to adopt dependency injection (DI) using various methods available in Go.

Of the six methods introduced in this book, some are conventional, such as constructor or method injection, and some unconventional, such as just-in-time or config injection. Each method is explained in detail, focusing on their strengths and weaknesses, and is followed with a step-by-step example of how to apply it. With plenty of examples, you will learn how to leverage DI to transform code into something simple and flexible.

Hands-On Dependency Injection in Go takes a pragmatic approach and focuses heavily on the code, user experience, and how to achieve long-term benefits through incremental changes.

Hands-On Software Engineering with Golang

This Golang book distills industry best practices for writing lean Go code that is easy to test and maintain, and helps you to explore its practical implementation by creating a multi-tier application called Links ‘R’ Us from scratch. You’ll be guided through all the steps involved in designing, implementing, testing, deploying, and scaling an application. Starting with a monolithic architecture, you’ll iteratively transform the project into a service-oriented architecture (SOA) that supports the efficient out-of-core processing of large link graphs.

You’ll learn about various cutting-edge and advanced software engineering techniques such as building extensible data processing pipelines, designing APIs using gRPC, and running distributed graph processing algorithms at scale. Finally, you’ll learn how to compile and package your Go services using Docker and automate their deployment to a Kubernetes cluster.

Spaceship Go Free

Spaceship Go is a journey to Go's Standard Library. Several key packages are explored in order to understand why they are useful, and also how they are implemented under the hood. It serves as a reference of some key available tools and primitives offered by the language, which can be very helpful to write performant and idiomatic code.

Security with Go

Security with Go is the first Golang security book, and it is useful for both blue team and red team applications. With this book, you will learn how to write secure software, monitor your systems, secure your data, attack systems, and extract information.

Defensive topics include cryptography, forensics, packet capturing, and building secure web applications.

Offensive topics include brute force, port scanning, packet injection, web scraping, social engineering, and post exploitation techniques.

Writing An Interpreter In Go

In this book we will create a programming language together.

We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey* programming language.

Step by step. From tokens to output. All code shown and included. Fully tested.

Writing A Compiler In Go

This is the sequel to Writing An Interpreter In Go.

We're picking up right where we left off and write a compiler and a virtual machine for Monkey.

Runnable and tested code front and center, built from the ground up, step by step — just like before.

But this time, we're going to define bytecode, compile Monkey and execute it in our very own virtual machine.

It's the next step in Monkey's evolution.

Ultimate Go Notebook

The Ultimate Go Notebook is the official companion book for the Ardan Labs Ultimate Go class.

With this book, you will learn how to write more idiomatic and performant code with a focus on micro-level engineering decisions.

This notebook has been designed to provide a reference to everything mentioned in class, as if they were your own personal notes.

Efficient Go

Software engineers today typically put performance optimizations low on the list of development priorities. But despite significant technological advancements and lower-priced hardware, software efficiency still matters. With this book, Go programmers will learn how to approach performance topics for applications written in this open source language.

How and when should you apply performance efficiency optimization without wasting your time? Authors Bartlomiej Plotka and Frederic Branczyk provide the tools and knowledge you need to make your system faster using fewer resources. Once you learn how to address performance in your Go applications, you'll be able to bring small but effective habits to your programming and development cycle.

The Power of Go: Tools

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.

Even more importantly, the book teaches you how to think like a master software engineer: how to break down problems into manageable chunks, how to test functions before they're written, and how to design Go CLIs that delight users.

Powerful Command-Line Applications in Go

Write your own fast, reliable, and cross-platform command-line tools with the Go programming language. Go might be the fastest—and perhaps the most fun—way to automate tasks, analyze data, parse logs, talk to network services, or address other systems requirements. Create all kinds of command-line tools that work with files, connect to services, and manage external processes, all while using tests and benchmarks to ensure your programs are fast and correct.

100 Go Mistakes and How to Avoid Them

100 Go Mistakes and How to Avoid Them puts a spotlight on common errors in Go code you might not even know you’re making. You’ll explore key areas of the language such as concurrency, testing, data structures, and more—and learn how to avoid and fix mistakes in your own projects.

Effective Go

Effective Go 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.

Cloud Native Go - Building Reliable Services in Unreliable Environments

What do Docker, Kubernetes, and Prometheus have in common? All of these cloud native technologies are written in the Go programming language. This practical book shows you how to use Go's strengths to develop cloud native services that are scalable and resilient, even in an unpredictable environment. You'll explore the composition and construction of these applications, from lower-level features of Go to mid-level design patterns to high-level architectural considerations.

Build an Orchestrator in Go

Understand Kubernetes and other orchestration systems deeply by building your own using Go and the Docker API.

Orchestration systems like Kubernetes coordinate other software subsystems and services to create a complete organized system. Although orchestration tools have a reputation for complexity, they’re designed around few important patterns that apply across many aspects of software development. Build an Orchestrator in Go reveals the inner workings of orchestration frameworks by guiding you as you design and implement your own using the Go SDK. As you create your own orchestration framework, you’ll improve your understanding of Kubernetes and its role in distributed system design. You’ll also build the skills required to design custom orchestration solutions for those times when an out-of-the-box solution isn’t a good fit.

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

Practical Go: Building Scalable Network and Non-Network Applications

In Practical Go - Building Scalable Network + Non-Network Applications, you will learn to use the Go programming language to build robust, production-ready software applications. You will learn just enough to building command line tools and applications communicating over HTTP and gRPC.

This practical guide will cover:

  • Writing command line applications
  • Writing a HTTP services and clients
  • Writing RPC services and clients using gRPC
  • Writing middleware for network clients and servers
  • Storing data in cloud object stores and SQL databases
  • Testing your applications using idiomatic techniques
  • Adding observability to your applications
  • Managing configuration data from your applications

You will learn to implement best practices using hands-on examples written with modern practices in mind. With its focus on using the standard library packages as far as possible, Practical Go will give you a solid foundation for developing large applications using Go leveraging the best of the language’s ecosystem.

Web Development

Building Web Apps with Go Free

A good resource for start Building Web Apps with Go. Free to read online.

Build Web Application with Golang Free

Another awesome book for learning Web Development in Golang. Free to read online

Webapps in Go the anti textbookstars3k Free

This book was written to teach how to develop web applications in Go for people who know a bit of Go and have basic information about web applications in general. We (you) will build a webapp without using a third party framework and using as few external libraries as possible. The advantage is that you'll learn a lot when you code without a framework.

Mastering Go Web Services

This book will take you through the most important aspects of designing, building, and deploying a web service utilizing idiomatic REST practices with a focus on speed, security, and flexibility. You will begin by building your first API in Go using the HTTP package. You will look at designing and building your application including popular design structures like Model-View-Controller. You will also understand methods for deploying code to staging and development. Finally, you will see how the security features in Go can be used for protection against SQL injection, and sensitive data compromise.

Level Up Your Web Apps With Go

This book gives you all you need to use Go in your web applications. You’ll learn the basic concepts — language structures, the standard library, and Go tools — then tackle more advanced features like concurrency concepts, testing methodologies, and package structures.

At each step, you’ll get advice for better coding in Go. You’ll see how to structure projects, how to use concurrency effectively, and best practices for testing—as well as many other hints and tips gleaned from real world experience of developing web applications with Go.

Go Web Programming

Go Web Programming teaches you how to build web applications in Go using modern design principles. You'll work through numerous examples that introduce core concepts like processing requests and sending responses, template engines, and data persistence. You'll also dive into more advanced topics, such as concurrency, web application testing and deployment both to barebones servers and PaaS providers.

Cloud Native Go: Building Web Applications and Microservices for the Cloud with Go and React

Today, companies and developers need to respond to changing markets at breakneck speeds. Organizations that aren't built on highly-available, rapidly-evolving software are going the way of the dinosaurs. Cloud Native Go brings together the knowledge developers need to build massive-scale cloud applications that meet the insatiable demands of today's customers and markets.

Web Development with Go: Learn to Create Real World Web Applications using Go

Web Development with Go was written to teach both beginners and experts how to create and deploy a real web application. You won't be building a boilerplate TODO list, but will instead be creating and deploying a production ready photo gallery application, similar to Pixieset, from scratch. The book assumes no previous web development experience and covers everything you need to know to successfully build your own web application.

Go: Building Web Applications

This course is an invaluable resource to help you understand Go's powerful features to build simple, reliable, secure, and efficient web applications.

Building Microservices with Go

Whether you are planning a new application or working in an existing monolith, this book will explain and illustrate with practical examples how teams of all sizes can start solving problems with microservices. It will help you understand Docker and Docker-Compose and how it can be used to isolate microservice dependencies and build environments. We finish off by showing you various techniques to monitor, test, and secure your microservices.

12 Factor Applications with Docker and Go

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 guidelines and how to implement them with Go and Docker.

Build SaaS apps in Go

Together, we'll build a strong, API-first, reusable codebase suitable for building a SaaS or vanilla web application. By the end of the book you'll have a solid framework to use as the starting point for future projects.

Let's Go!

Let's Go teaches you step-by-step how to create fast, secure and maintainable web applications using Go. It guides you through the start-to-finish build of a real-world application — covering topics like how to structure your code, manage dependencies, authenticate and authorize users, secure your server and test your application.

Let's Go Further

Let’s Go Further helps you extend and expand your knowledge of Go — taking you beyond the basics and guiding you through advanced patterns for developing, managing and deploying APIs and web applications. By the end of the book you'll have all the knowledge you need to create robust and professional APIs which act as backends for SPAs and native mobile applications, or function as stand-alone services.

Go Brain Teasers

The Go programming language is a simple one, but like all other languages it has its quirks. This book uses these quirks as a teaching opportunity. By understanding the gaps in your knowledge - you'll become better at what you do.

This book contains 25 mind bending quizzes and answers. You can view a sample chapter here.

Creative DIY Microcontroller Projects with TinyGo and WebAssembly

While often considered a fast and compact programming language, Go usually creates large executables that are difficult to run on low-memory or low-powered devices such as microcontrollers or IoT. TinyGo is a new compiler that allows developers to compile their programs for such low-powered devices. As TinyGo supports all the standard features of the Go programming language, you won't have to tweak the code to fit on the microcontroller.

This book is a hands-on guide packed full of interesting DIY projects that will show you how to build embedded applications. You will learn how to program sensors and work with microcontrollers such as Arduino UNO and Arduino Nano IoT 33. The chapters that follow will show you how to develop multiple real-world embedded projects using a variety of popular devices such as LEDs, 7-segment displays, and timers. Next, you will progress to build interactive prototypes such as a traffic lights system, touchless hand wash timer, and more. As you advance, you’ll create an IoT prototype of a weather alert system and display those alerts on the TinyGo WASM dashboard. Finally, you will build a home automation project that displays stats on the TinyGo WASM dashboard.

By the end of this microcontroller book, you will be equipped with the skills you need to build real-world embedded projects using the power of TinyGo.

Distributed Services with Go Your Guide to Reliable, Scalable, and Maintainable Systems

Take your Go skills to the next level by learning how to design, develop, and deploy a distributed service. Start from the bare essentials of storage handling, work your way through networking a client and server, turn that single-node application into a distributed system with service discovery and consensus, and then deploy your service to the cloud. All this will make coding in your day job or side projects easier, faster, and more fun.

Build Systems with Go: Everything a Gopher Must Know

The Go ecosystem is helping developers to build distributed and scalable systems efficiently. If you plan to jump into this fascinating world, you must know how Go can help you to build REST APIs, use SQL/NoSQL databases, data streaming platforms, gRPC, design your own CLIs, or how to log your programs efficiently just to mention a few. Build Systems with GO: Everything a Gopher Must Know is split into two blocks: the first explores the Go language and its standard library, the second one provides the reader with examples and explanations of the most powerful libraries to be used in any Go development. With more than 200 detailed and straight-forward examples available at GitHubstars89, this book helps early adopters and experienced developers to have a real view of what a system built with Go looks like.

Mastering Go, 3rd edition

This is the 3rd edition of Mastering Go. There exist many exciting new topics in this latest edition including writing RESTful services, working with the Websocket protocol, using GitHub Actions and GitLab Actions for Go projects as well as an entirely new chapter on Generics and the development of lots of practical utilities.

Learn Data Structures and Algorithms with Golang

The book begins with an introduction to Go data structures and algorithms. You'll learn how to store data using linked lists, arrays, stacks, and queues. Moving ahead, you'll discover how to implement sorting and searching algorithms, followed by binary search trees. This book will also help you improve the performance of your applications by stringing data types and implementing hash structures in algorithm design. Finally, you'll be able to apply traditional data structures to solve real-world problems. By the end of the book, you'll have become adept at implementing classic data structures and algorithms in Go, propelling you to become a confident Go programmer.

Wasm Cooking with Golang

You will learn how to generate WebAssembly applications with GoLang and run WebAssembly in your browser and out of your browser.

This e-book comprises 23 complete recipes with the code examples necessary to reproduce these recipes:

  • Wasm & Go in your browser
  • Wasm & Go with Node.js
  • WasmEdge & Go
  • Wasm in the Cloud: Do you know Atmo?

Generative Art in Go

Generative art is a unique form of artistic expression, building bridges between computer programming, randomness, and visual aesthetics.

This short book will introduce novice and experienced Go programmers to the beautiful world of algorithmic art and computer graphics. If you are looking for new areas to apply your favorite language, go check it out!

Resources

Golang tutorial resources

A tour of Go

Video: Learn Go Syntax in one video

Tutorials: Go by Example

Go Fundamentals Video Training

More Books on the Go Wiki

TutorialEdge.net Course

Coursera Specialization: Programming with Go

Course: Understand Go's In-Depth Mechanics

Course: Mastering Go Programming

Course: Web Development with Google’s Go Programming Language

Golangbot.com Articles

Contributing

Your contributions are always welcome, just follow the rules!

License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

ON THIS PAGE

  1. Awesome Go Books Build Status Awesome
  2. Books
  3. Starter Books
  4. The Little Go Book Free
  5. An Introduction to Programming in Go Free
  6. Go Bootcamp Free
  7. Learning Go Free
  8. Go for Javascript Developersstars1.1k Free
  9. Learn Go With Tests Free
  10. Go 101 Free
  11. Go, from the beginning Free
  12. Practical Go Lessons Free
  13. Go in Action
  14. Go Programming Blueprints - 2nd Ed.
  15. Programming in Go: Creating Applications for the 21st Century
  16. The Go Programming Language
  17. Introducing Go: Build Reliable, Scalable Programs
  18. Get Programming with Go
  19. Go Programming by Example
  20. Go Recipes
  21. Learning Go programming
  22. API Foundations in Go
  23. How to Code in Go
  24. For the Love of Go
  25. The Go Workshop
  26. Learning Go: An Idiomatic Approach to Real-World Go Programming
  27. Pro Go
  28. Go for DevOps
  29. gRPC Microservices in Go
  30. Advanced Books
  31. Building Distributed Applications in Gin
  32. Test-driven development with Go Free
  33. Go programming language secure coding practices guide Free
  34. Go with the Domain: Building Modern Business Software in Go Free
  35. Network Programming with Go
  36. Network Programming with Go
  37. Mastering Concurrency in Go
  38. Go in Practice
  39. A Go Developer's Notebook
  40. The Go Programming Language Phrasebook
  41. Go Design Patterns
  42. Black Hat Go
  43. Concurrency in Go
  44. Hands-On Dependency Injection in Go
  45. Hands-On Software Engineering with Golang
  46. Spaceship Go Free
  47. Security with Go
  48. Writing An Interpreter In Go
  49. Writing A Compiler In Go
  50. Ultimate Go Notebook
  51. Efficient Go
  52. The Power of Go: Tools
  53. Powerful Command-Line Applications in Go
  54. 100 Go Mistakes and How to Avoid Them
  55. Effective Go
  56. Cloud Native Go - Building Reliable Services in Unreliable Environments
  57. Build an Orchestrator in Go
  58. Everyday Go
  59. Practical Go: Building Scalable Network and Non-Network Applications
  60. Web Development
  61. Building Web Apps with Go Free
  62. Build Web Application with Golang Free
  63. Webapps in Go the anti textbookstars3k Free
  64. Mastering Go Web Services
  65. Level Up Your Web Apps With Go
  66. Go Web Programming
  67. Cloud Native Go: Building Web Applications and Microservices for the Cloud with Go and React
  68. Web Development with Go: Learn to Create Real World Web Applications using Go
  69. Go: Building Web Applications
  70. Building Microservices with Go
  71. 12 Factor Applications with Docker and Go
  72. Build SaaS apps in Go
  73. Let's Go!
  74. Let's Go Further
  75. Go Brain Teasers
  76. Creative DIY Microcontroller Projects with TinyGo and WebAssembly
  77. Distributed Services with Go Your Guide to Reliable, Scalable, and Maintainable Systems
  78. Build Systems with Go: Everything a Gopher Must Know
  79. Mastering Go, 3rd edition
  80. Learn Data Structures and Algorithms with Golang
  81. Wasm Cooking with Golang
  82. Generative Art in Go
  83. Resources
  84. Golang tutorial resources
  85. A tour of Go
  86. Video: Learn Go Syntax in one video
  87. Tutorials: Go by Example
  88. Go Fundamentals Video Training
  89. More Books on the Go Wiki
  90. TutorialEdge.net Course
  91. Coursera Specialization: Programming with Go
  92. Course: Understand Go's In-Depth Mechanics
  93. Course: Mastering Go Programming
  94. Course: Web Development with Google’s Go Programming Language
  95. Golangbot.com Articles
  96. Contributing
  97. License
Last Checked At: 2022-09-21T14:09:31.804Z
Previous
EbookFoundation/free-programming-books
Next
RomanTsegelskyi/rbooks

About

Track your favorite github awesome repo, not just star it. trackawesomelist.com provides website, newsletter, RSS for tracking the popular awesome list by daily and weekly.
Contact us: [email protected]
Track Awesome List - Track your favorite Github awesome repos, not just star them | Product Hunt

Subscribe

Subscribe to our weekly newsletter to receive the awesome updates! We never send spam and you can unsubscribe instantly with one click. Here's past issues.

Links

Follow us on TwitterSubscribe us on TelegramSubmit awesome list repoNewsletterDonateSitemap