Many developers have this book because it can be called a classic. It talks about the advantages of Go over other programming languages, reveals the nuances of development in this language, and provides practical examples. In addition, the authors answer the most popular questions, and do it well.
It all starts with more or less general things, and then the authors move on to practical examples, revealing many of the nuances of working with Go. If you don’t have basic knowledge of the language, it’s better to read something for beginners, and then start studying this publication. For super-pros, there probably isn’t much new here, but for developers with a level close to the average, there’s a lot to get acquainted with.
The book is written in a lively language; a big plus is that the authors really give a lot of examples. In addition, they give tasks that help consolidate previously acquired knowledge. It is better, of course, to familiarize yourself with the original, but if your knowledge of English is not very good, then the Russian edition will do.
Go: Idioms and Design Patterns
Author: John Bodner
This is a practical guide that will be useful to many. It contains essential information for Go development. It helps you start thinking like a Go developer and provides useful information on design patterns that many programmers use. It also talks about generics.
There are nuances of working in Go, including design decisions, talks about how to properly set up the development environment, when to use reflection, cgo, and what Go features allow it to work more efficiently than other languages.
The book can be useful for a beginner, but most of all it is useful for an experienced programmer. The fact is that the author talks about the “origins” of Golang and helps to understand the advantages of developing in Go. In general, the book makes it possible to synchronize already accumulated knowledge with the basic concepts of working in Go, or more precisely, with those nuances that might remain closed to a beginner.
Modern Web Development with Go
Author: Dusan Stojanovic
The book is in English, it gives you the opportunity to learn how to create web server applications using Golang. The book is new, released in 2023, so it has many interesting nuances that are relevant to modern trends in web application development. The author explains how to design, create and test an application, taking into account important information security issues.
After reading the book, you can start creating server projects or work on ready-made projects, understanding what and how it works. As befits a good book on development, this edition contains a lot of practical examples. Moreover, they are not abstract, but directly relate to the practice of modern programming.
Each chapter contains examples and scenarios for using certain technologies. This gives the reader the opportunity to repeat in their own projects what is told and shown in the book. The author also reveals important information about the tools and libraries that are used in Go web development. The author paid special attention to the issues of parallelism and scalability. So, the book shows how to put these functions into practice in order to create a well-functioning, scalable application.
Unfortunately, there is no translation into Russian, there is only an English version of the book.
Golang for the pros
Author: Michalis Tsoukalos
The book contains many examples, there are templates and, of course, explanations for all this – the author will not leave the reader to their fate. Tsoukalos reveals the nuances of types and structures, packages, parallel work, etc. At the end of each chapter there are exercises that allow you to consolidate the acquired knowledge in practice.
Among other important nuances, it is worth mentioning the issues of using Go in production systems, a story about how the internal mechanisms of the language work, and examples of creating and optimizing network code for server and client applications.
The author also talks about interacting with other systems using WebAssembly, JSON and gRPC. And also about the development of machine learning systems in this language. Moreover, actual systems – both simple and quite complex. The positive thing is that Tsoukalos adds tips for working with Docker, Git, and UNIX.
Black Hat Go: Programming for Hackers and Pentesters
Author: Tom Steele
Another book in Russian that should be used as a reference book for cybersecurity specialists. It allows you to understand the issues of testing systems, developing important tools and methods for countering attackers.
By the way, there is also a story about the syntax and philosophy of the language – in case you need to refresh your memory. After this, the author proceeds to demonstrate practical examples of using Go to work with the HTTP, DNS and SMB protocols. Naturally, the book fully corresponds to the title, since it examines the tasks of countering data theft, sniffing, and also discusses working with exploits.
It also talks about cryptography, steganography and other important topics, of course, in line with the same Go language. The book will be extremely useful for developers who are interested in information security issues. If you are an information security specialist with development experience, then “Black Hat Go: Programming for Hackers and Pentesters” is definitely worth reading.
Let’s Go Further
Author: Alex Edwards
Another book in English that should not be missed. The point is that it is ideal for further learning Golang after you have mastered the basics. The author helps you learn much more than you knew before, introduces advanced patterns for developing and deploying APIs and web applications.
The author covers extremely important topics, including sending and receiving JSON data. He also talks about the practices of modern developers, about managing background tasks, and also about how to create reports on metrics.
Everything contained in this book will be useful in your daily work, so don’t miss this publication.