From c92ebe167d8c664a12218f101677f0a157f18623 Mon Sep 17 00:00:00 2001 From: Dariush Abbasi Date: Fri, 27 Feb 2026 03:05:12 -0700 Subject: [PATCH] Add Most Popular Section Updated README.md to include new sections and correct formatting issues. ref #163 --- README.md | 179 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 153 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 8c7eec8..4cc43dd 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,21 @@ [![Validate README](https://github.com/dariubs/GoBooks/actions/workflows/validate.yml/badge.svg)](https://github.com/dariubs/GoBooks/actions/workflows/validate.yml) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) -GoBooks is a carefully curated collection of the best Go books available for developers of all levels, from beginners learning the basics of Golang to experienced engineers looking for advanced concurrency, performance, and system design topics. This repository gathers top Golang books covering core Go concepts, real-world patterns, best practices, and modern Go development, making it easy to find the right learning resource in one place. Whether you’re searching for your first Golang book, want to deepen your understanding of Go internals, or are looking for the most recommended and up-to-date Go programming books, GoBooks serves as a trusted reference for the Go community. +GoBooks is a carefully curated collection of the best Go books available for developers of all levels, from beginners learning the basics of Golang to experienced engineers looking for advanced concurrency, performance, and system design topics. This repository gathers top Golang books covering core Go concepts, real-world patterns, best practices, and modern Go development, making it easy to find the right learning resource in one place. Whether you're searching for your first Golang book, want to deepen your understanding of Go internals, or are looking for the most recommended and up-to-date Go programming books, GoBooks serves as a trusted reference for the Go community. - [Awesome Go Books](#awesome-go-books) + - [Most Popular Golang Books](#most-popular-go-books) + - [The Go Programming Language](#the-go-programming-language) + - [Learning Go: An Idiomatic Approach to Real-World Go Programming, 2nd Edition](#learning-go-an-idiomatic-approach-to-real-world-go-programming-2nd-edition-1) + - [100 Go Mistakes and How to Avoid Them](#100-go-mistakes-and-how-to-avoid-them-1) + - [Learn Go With Tests *Free*](#learn-go-with-tests-free-1) + - [Writing An Interpreter In Go](#writing-an-interpreter-in-go-1) + - [Let's Go!](#lets-go-1) + - [Head First Go](#head-first-go-1) + - [Black Hat Go](#black-hat-go-1) + - [Efficient Go: Data-Driven Performance Optimization](#efficient-go-data-driven-performance-optimization-1) + - [Let's Go Further](#lets-go-further-1) - [Starter Books](#starter-books) - [The Go Programming Language](#the-go-programming-language) - [Learning Go *Free*](#learning-go) @@ -92,12 +103,128 @@ GoBooks is a carefully curated collection of the best Go books available for dev - [Coursera Specialization: Programming with Go](#coursera-specialization-programming-with-go) - [Course: Understand Go's In-Depth Mechanics](#course-understand-gos-in-depth-mechanics) - [Course: Mastering Go Programming](#course-mastering-go-programming) - - [Course: Web Development with Google’s Go Programming Language](#course-web-development-with-googles-go-programming-language) + - [Course: Web Development with Google's Go Programming Language](#course-web-development-with-googles-go-programming-language) - [Golangbot.com Articles](#golangbotcom-articles) - [Tuxerrante repo on go exercises](#tuxerrante-repo-on-go-exercises) - [Contributing](#contributing) - [License](#license) +## Most Popular Go Books + +> The most popular and highly recommended Go books based on community ratings, expert recommendations, and developer consensus across Amazon, Goodreads, and the Go community + +### [The Go Programming Language](https://amzn.to/3MbHW7i) + + + +*Last published*: **2015** +*Authors:* **Alan A. A. Donovan** and **Brian W. Kernighan** +*Available as*: **eBook**, **Print** + +Widely considered the "Go Bible" and the definitive reference for the language, co-authored by Brian Kernighan of K&R C fame. With over 1,200 Amazon reviews and a 4.5-star rating, it appears on virtually every "best Go books" list. It covers syntax, data structures, concurrency, and best practices with hundreds of practical examples. + +----- + +### [Learning Go: An Idiomatic Approach to Real-World Go Programming, 2nd Edition](https://amzn.to/4ceJWWQ) + + + +*Last published*: **2024** +*Authors:* **Jon Bodner** + +One of the most recommended modern Go books, praised by experts at Datadog and across the Go community. It teaches you to think like a Go developer by focusing on idiomatic patterns, design decisions, and generics. Consistently ranked at the top of best-of lists by BookAuthority, MentorCruise, GeeksforGeeks, and ReactDOM. + +----- + +### [100 Go Mistakes and How to Avoid Them](https://www.manning.com/books/100-go-mistakes-and-how-to-avoid-them) + + + +*Last published*: **2022** +*Authors:* **Teiva Harsanyi** + +A community favorite for intermediate-to-advanced developers, frequently recommended on Reddit, Hacker News, and in Go learning paths like TutorialEdge. It provides a unique angle on Go mastery by highlighting common pitfalls in concurrency, testing, data structures, and more. + +----- + +### [Learn Go With Tests](https://quii.gitbook.io/learn-go-with-tests/) *Free* + + + +*Last published*: **2025** +*Authors:* **Chris James** +*Avaible For Free* : **[Source Code](https://github.com/quii/learn-go-with-tests)** + +One of the most popular free Go resources with over 22,000 GitHub stars. Its test-driven approach to learning Go has made it a go-to recommendation across the community. Frequently cited alongside paid books as essential reading for anyone learning Go. + +----- + +### [Writing An Interpreter In Go](https://amzn.to/45PIyGq) + + + +*Last published*: **2020** +*Authors:* **Thorsten Ball** + +A cult classic with an enthusiastic following on Goodreads (4.5+ stars) and Hacker News. By guiding you through building a complete programming language interpreter from scratch, it teaches both Go and computer science fundamentals in a uniquely hands-on way. + +----- + +### [Let's Go!](https://lets-go.alexedwards.net/) + + + +*Last published*: **2023** +*Authors:* **Alex Edwards** + +The most recommended book for Go web development, praised for its step-by-step, real-world approach to building secure and maintainable web applications. Frequently paired with its sequel *Let's Go Further* as the definitive Go web development learning path. + +----- + +### [Head First Go](https://amzn.to/4r1FJdA) + + + +*Last published*: **2019** +*Authors:* **Jay McGavren** + +A top pick on GeeksforGeeks and other beginner lists, leveraging the popular Head First visual learning format. Its intuitive graphical representations and humorous examples make it one of the most accessible entry points to Go for newcomers to programming. + +----- + +### [Black Hat Go](https://amzn.to/4tlEqaX) + +[](https://amzn.to/4tlEqaX) + +*Last published*: **2020** +*Authors:* **Tom Steele, Chris Patten, Dan Kottmann** + +A highly popular niche book that combines Go with security and penetration testing. Widely recommended by both the Go and cybersecurity communities, it fills a unique gap by teaching offensive security tooling using Go's speed and concurrency strengths. + +----- + +### [Efficient Go: Data-Driven Performance Optimization](https://www.amazon.com/Efficient-Go-Data-Driven-Performance-Optimization/dp/1098105710) + + + +*Last published*: **2022** +*Authors:* **Bartlomiej Płotka, Frederic Branczyk** + +A highly regarded guide to Go performance, recommended by experts and frequently appearing on advanced Go reading lists. Written by engineers from the Prometheus and Thanos projects, it provides the tools and knowledge to make Go applications faster using fewer resources. + +----- + +### [Let's Go Further](https://lets-go-further.alexedwards.net/) + + + +*Last published*: **2023** +*Authors:* **Alex Edwards** + +The highly popular sequel to *Let's Go!*, focusing on advanced API and web application patterns. Together with its predecessor, it forms the most recommended web development learning path in the Go community, covering everything from REST APIs to deployment. + +----- + ## Starter Books > Here are the top recommended books for absolute beginners—those with little or no programming experience—who want to learn Go from the very start @@ -183,7 +310,7 @@ The Go Workshop will take the pain out of learning the Go programming language ( -Go makes it easy to build software that’s simple, reliable, and efficient. Andthis book makes it easy for programmers like you to get started. Google designed Go for high-performance networking and multiprocessing, but—like Python and JavaScript—the language is easy to read and use. With this practical hands-on guide, you’ll learn how to write Go code using clear examples that demonstrate the language in action. Best of all, you’ll understand the conventions and techniques that employers want entry-level Go developers to know. +Go makes it easy to build software that's simple, reliable, and efficient. Andthis book makes it easy for programmers like you to get started. Google designed Go for high-performance networking and multiprocessing, but—like Python and JavaScript—the language is easy to read and use. With this practical hands-on guide, you'll learn how to write Go code using clear examples that demonstrate the language in action. Best of all, you'll understand the conventions and techniques that employers want entry-level Go developers to know. ----- @@ -196,7 +323,7 @@ Go makes it easy to build software that’s simple, reliable, and efficient. And *Avaible For Free* : **[epub](https://assets.digitalocean.com/books/how-to-code-in-go.epub)**, **[pdf](https://assets.digitalocean.com/books/how-to-code-in-go.pdf)** -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. +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. ----- @@ -328,7 +455,7 @@ In gRPC Go for Professionals, you'll begin by learning the core concepts such as -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. +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. ----- @@ -409,7 +536,7 @@ This book helps you: -Go Programming – From Beginner to Professional is a comprehensive guide that takes your proficiency in the Go programming language from novice to expert. Starting with fundamental concepts, this book covers variables, command-line tools, and working with data before delving into advanced concepts, including error handling, interfaces, and generics, harnessing Go’s latest features through hands-on exercises. Along the way, you’ll learn to structure projects using Go modules, manage packages effectively, and master debugging techniques. As you progress, you’ll get to grips with practical application-centric aspects such as command-line programming, file manipulation, and working with SQL databases. Additionally, the book explores web server development, RESTful APIs, and utilizing the Go HTTP client to interact with web applications. Further enhancing your Go skills, you’ll learn concurrent programming, testing methodologies, Go tools, and how to deploy applications in the cloud. Throughout the book, you’ll uncover Go’s hidden gems and gain insights into time manipulation, best practices, and more. By the end of this book, you’ll have worked through practical exercises and activities that’ll equip you with the knowledge and skills needed to excel as a proficient Go developer, primed for success in real-world projects. +Go Programming – From Beginner to Professional is a comprehensive guide that takes your proficiency in the Go programming language from novice to expert. Starting with fundamental concepts, this book covers variables, command-line tools, and working with data before delving into advanced concepts, including error handling, interfaces, and generics, harnessing Go's latest features through hands-on exercises. Along the way, you'll learn to structure projects using Go modules, manage packages effectively, and master debugging techniques. As you progress, you'll get to grips with practical application-centric aspects such as command-line programming, file manipulation, and working with SQL databases. Additionally, the book explores web server development, RESTful APIs, and utilizing the Go HTTP client to interact with web applications. Further enhancing your Go skills, you'll learn concurrent programming, testing methodologies, Go tools, and how to deploy applications in the cloud. Throughout the book, you'll uncover Go's hidden gems and gain insights into time manipulation, best practices, and more. By the end of this book, you'll have worked through practical exercises and activities that'll equip you with the knowledge and skills needed to excel as a proficient Go developer, primed for success in real-world projects. What you will learn - Understand the Go syntax and apply it proficiently to handle data and write functions @@ -484,7 +611,7 @@ A developer's experience in golang. *Last published*: **2020** *Authors:* **Tom Steele, Chris Patten, Dan Kottmann** -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. +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. ----- @@ -529,9 +656,9 @@ It's the next step in Monkey's evolution. *Last published*: **2020** *Authors:* **** -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. +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. +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. ----- @@ -544,7 +671,7 @@ You’ll learn about various cutting-edge and advanced software engineering tech 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. +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. @@ -579,7 +706,7 @@ Write your own fast, reliable, and cross-platform command-line tools with the Go *Last published*: **2021** *Authors:* **İlker Baltacı** -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. +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. ----- @@ -636,7 +763,7 @@ This practical guide will cover: 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. +using Go leveraging the best of the language's ecosystem. ----- @@ -649,9 +776,9 @@ using Go leveraging the best of the language’s ecosystem. This book covers the key benefits and common issues of microservices, helping you understand the problems microservice architecture helps to solve, the issues it usually introduces, and the ways to tackle them. -You’ll start by learning about the importance of using the right principles and standards in order to achieve the key benefits of microservice architecture. The following chapters will explain why the Go programming language is one of the most popular languages for microservice development and lay down the foundations for the next chapters of the book. You’ll explore the foundational aspects of Go microservice development including service scaffolding, service discovery, data serialization, synchronous and asynchronous communication, deployment, and testing. After covering the development aspects, you’ll progress to maintenance and reliability topics. The last part focuses on more advanced topics of Go microservice development including system reliability, observability, maintainability, and scalability. In this part, you’ll dive into the best practices and examples which illustrate how to apply the key ideas to existing applications, using the services scaffolded in the previous part as examples. +You'll start by learning about the importance of using the right principles and standards in order to achieve the key benefits of microservice architecture. The following chapters will explain why the Go programming language is one of the most popular languages for microservice development and lay down the foundations for the next chapters of the book. You'll explore the foundational aspects of Go microservice development including service scaffolding, service discovery, data serialization, synchronous and asynchronous communication, deployment, and testing. After covering the development aspects, you'll progress to maintenance and reliability topics. The last part focuses on more advanced topics of Go microservice development including system reliability, observability, maintainability, and scalability. In this part, you'll dive into the best practices and examples which illustrate how to apply the key ideas to existing applications, using the services scaffolded in the previous part as examples. -By the end of this book, you’ll have gained hands-on experience with everything you need to develop scalable, reliable and performant microservices using Go. +By the end of this book, you'll have gained hands-on experience with everything you need to develop scalable, reliable and performant microservices using Go. ----- @@ -665,9 +792,9 @@ By the end of this book, you’ll have gained hands-on experience with everythin Event-driven architecture in Golang is an approach used to develop applications that shares state changes asynchronously, internally, and externally using messages. EDA applications are better suited at handling situations that need to scale up quickly and the chances of individual component failures are less likely to bring your system crashing down. This is why EDA is a great thing to learn and this book is designed to get you started with the help of step-by-step explanations of essential concepts, practical examples, and more. -You’ll begin building event-driven microservices, including patterns to handle data consistency and resiliency. Not only will you learn the patterns behind event-driven microservices but also how to communicate using asynchronous messaging with event streams. You’ll then build an application made of several microservices that communicates using both choreographed and orchestrated messaging. +You'll begin building event-driven microservices, including patterns to handle data consistency and resiliency. Not only will you learn the patterns behind event-driven microservices but also how to communicate using asynchronous messaging with event streams. You'll then build an application made of several microservices that communicates using both choreographed and orchestrated messaging. -By the end of this book, you’ll be able to build and deploy your own event-driven microservices using asynchronous communication. +By the end of this book, you'll be able to build and deploy your own event-driven microservices using asynchronous communication. ----- @@ -692,7 +819,7 @@ How and when should you apply performance efficiency optimization without wastin *Last published*: **2022** *Authors:* **Teiva Harsanyi** -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. +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. ----- @@ -714,7 +841,7 @@ Go's 2022 introduction of generics opens up a whole new world of programming in *Last published*: **2022** *Authors:* **John Arundel** -Go’s built-in support for testing puts tests front and centre of any software project, from command-line tools to sophisticated backend servers and APIs. This book will introduce you to all Go’s testing facilities, show you how to use them to write tests for the trickiest things, and distils the collected wisdom of the Go community on best practices for testing Go programs. Crammed with hundreds of code examples, the book uses real tests and real problems to show you exactly what to do, step by step. +Go's built-in support for testing puts tests front and centre of any software project, from command-line tools to sophisticated backend servers and APIs. This book will introduce you to all Go's testing facilities, show you how to use them to write tests for the trickiest things, and distils the collected wisdom of the Go community on best practices for testing Go programs. Crammed with hundreds of code examples, the book uses real tests and real problems to show you exactly what to do, step by step. ----- @@ -733,8 +860,8 @@ This book, Part 1 of the series, focuses on achieving high-performance code. You - Understand the differences between Concurrency and Parallelism. - Identify and avoid concurrency issues like deadlock, starvation, livelock, and data races. - Understand the various concurrency interaction patterns and be able to apply the one that best fits the problem at hand. -- Take a deep dive into Go’s concurrency primitives and be able to apply them expertly but also avoid many of their gotchas. -- Be able to diagnose concurrency and performance issues using Go’s profiler, execution tracing, and benchmarking tools. +- Take a deep dive into Go's concurrency primitives and be able to apply them expertly but also avoid many of their gotchas. +- Be able to diagnose concurrency and performance issues using Go's profiler, execution tracing, and benchmarking tools. - Be able to identify when code needs optimizing, what needs optimizing and how. - Have a catalog of concurrency and performance patterns that you can quickly apply to your projects. @@ -749,7 +876,7 @@ This book, Part 1 of the series, focuses on achieving high-performance code. You Use Golang to create simple, maintainable systems to solve complex business problems. -Domain-driven design (DDD) is one of the most sought-after skills in the industry. This book provides you with step-by-step explanations of essential concepts and practical examples that will see you introducing DDD in your Go projects in no time. Domain-Driven Design with Golang starts by helping you gain a basic understanding of DDD, and then covers all the important patterns, such as bounded context, ubiquitous language, and aggregates. The latter half of the book deals with the real-world implementation of DDD patterns and teaches you how to build two systems while applying DDD principles, which will be a valuable addition to your portfolio. Finally, you’ll find out how to build a microservice, along with learning how DDD-based microservices can be part of a greater distributed system. Although the focus of this book is Golang, by the end of this book you’ll be able to confidently use DDD patterns outside of Go and apply them to other languages and even distributed systems. +Domain-driven design (DDD) is one of the most sought-after skills in the industry. This book provides you with step-by-step explanations of essential concepts and practical examples that will see you introducing DDD in your Go projects in no time. Domain-Driven Design with Golang starts by helping you gain a basic understanding of DDD, and then covers all the important patterns, such as bounded context, ubiquitous language, and aggregates. The latter half of the book deals with the real-world implementation of DDD patterns and teaches you how to build two systems while applying DDD principles, which will be a valuable addition to your portfolio. Finally, you'll find out how to build a microservice, along with learning how DDD-based microservices can be part of a greater distributed system. Although the focus of this book is Golang, by the end of this book you'll be able to confidently use DDD patterns outside of Go and apply them to other languages and even distributed systems. ----- @@ -769,7 +896,7 @@ The main goal of this book is to help developers avoid common mistakes while at *Last published*: **2023** *Authors:* **** -Go’s built-in first-class concurrency mechanisms make it an ideal choice for long-lived low-bandwidth I/O operations, which are typical requirements of network automation and network operations applications. This book provides a quick overview of Go and hands-on examples within it to help you become proficient with Go for network automation. It’s a practical guide that will teach you how to automate common network operations and build systems using Go. The first part takes you through a general overview, use cases, strengths, and inherent weaknesses of Go to prepare you for a deeper dive into network automation. You’ll explore the common network automation areas and challenges, what language features you can use in each of those areas, and the common software tools and packages. To help deepen your understanding, you’ll also work through real-world network automation problems and apply hands-on solutions to them. By the end of this book, you’ll be well-versed with Go and have a solid grasp on network automation. +Go's built-in first-class concurrency mechanisms make it an ideal choice for long-lived low-bandwidth I/O operations, which are typical requirements of network automation and network operations applications. This book provides a quick overview of Go and hands-on examples within it to help you become proficient with Go for network automation. It's a practical guide that will teach you how to automate common network operations and build systems using Go. The first part takes you through a general overview, use cases, strengths, and inherent weaknesses of Go to prepare you for a deeper dive into network automation. You'll explore the common network automation areas and challenges, what language features you can use in each of those areas, and the common software tools and packages. To help deepen your understanding, you'll also work through real-world network automation problems and apply hands-on solutions to them. By the end of this book, you'll be well-versed with Go and have a solid grasp on network automation. ----- @@ -795,7 +922,7 @@ Even more importantly, the book teaches you how to _think_ like a master softwar 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. +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. ----- @@ -945,7 +1072,7 @@ This book contains 25 mind bending quizzes and answers. You can view a sample ch 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. +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. @@ -991,7 +1118,7 @@ Let's Go teaches you step-by-step how to create fast, secure and maintainable we *Last published*: **2023** *Authors:* **Alex Edwards** -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. +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. ----- @@ -1075,7 +1202,7 @@ Another awesome book for learning Web Development in Golang. ### [Coursera Specialization: Programming with Go](https://www.coursera.org/specializations/google-golang/) ### [Course: Understand Go's In-Depth Mechanics](https://www.udemy.com/course/learn-go-the-complete-bootcamp-course-golang/?referralCode=5CE6EB34E2B1EF4A7D37) ### [Course: Mastering Go Programming](https://www.udemy.com/course/mastering-go-programming) -### [Course: Web Development with Google’s Go Programming Language](https://www.udemy.com/course/go-programming-language) +### [Course: Web Development with Google's Go Programming Language](https://www.udemy.com/course/go-programming-language) ### [Golangbot.com Articles](https://golangbot.com/) ### [Tuxerrante repo on go exercises](https://github.com/tuxerrante/go_exercises)