The Go programming language was publicly announced in November, 2009 and has been steadily growing in popularity. This increase in popularity has led to an increase in the number of people looking to learn the language. I’ve compiled this list of 12 free Go programming books and tutorials for people looking to learn the language as well as people who have some experience with it and would like to dive into some more advanced topics like networking and cryptography. I hope you find it useful.
An Introduction to Programming in Go is designed to be a short, concise introduction to the Go programming language. The book covers the core features and is a good starting point for gaining some familiarity with Go.
Build Web Application with Golang is an open source book that takes you through the steps of developing a web application in Go (hence the title of the book). The first 12 chapters of the book teach specific components of the language as well as of web applications like how to program web services and handle security and encryption in Go. The final two chapters, 13 and 14, the author takes all the individual pieces of knowledge earlier in the book and pieces it all together by showing you how to build and develop a basic web framework.
Building Web Apps with Go takes you through the steps of building your first web application with the Go programming language. It’s broken up into 12 chapters and covers the net/http package, deployment, url routing, middleware, rendering, testing, controllers and databases. It requires that you have a basic familiarity with the language. The author suggests completing the official Go tutorial as a prerequisite to this book.
4. Effective Go
5. Go Bootcamp
Go Bootcamp is split up into 12 chapters and covers all the basics of the language. It covers pretty much everything you need to get started with Go.
Go by Example teaches the basics of the Go language through annotated, example programs. Most of the programs contain just enough code to teach that particular lesson and the annotations are aligned with the line(s) of code they are explaining, making it easy to follow along.
7. Learning Go
Learning Go is written for people who already have some basic experience with programming. The book is divided into 8 chapters covering basics, functions, packages, interfaces, concurrency and networking. Exercises are included at the end of each chapter, so you can get practice writing Go programs.
Let’s Learn Go! was written with the novice programmer in mind and is meant to be an easy to understand introduction to the Go programming language.
Network programming with Go teaches you how to build network applications with Go. It is divided into 15 chapters covering topics such as data serialisation, socket-level programming, security, web sockets and more.
Practical Cryptography with Go is divided into 5 chapters and covers engineering concerns and platform security, symmetric security, secure channels and key exchange and digital signatures.
11. A Tour of Go
A Tour of Go is the official interactive introductory tutorial to the Go language. It guides you through a series of modules that cover the basics of the Go programming language and allows you to modify and run the code directly in your browser. It’s probably the best starting point for anyone just dipping their toe into Go.
The Little Go Book is an introduction to the Go programming language and, if you are a programmer who might not be comfortable with pointers or static typing, then it will be a good book for you to read.