Golang is an absolutely fantastic language developed by the very smart developers over at Google. It’s a compiled language which is strongly typed which suits a lot of use cases where type inference in languages like Javascript and Python don’t quite cut it.

The fact that it’s compiled means that deploying your go based programs is incredibly simple, you can compile it for that particular platform and you end up with a binary executable that you can just run on top of that platform without any fuss around things like dependencies.

In this article we are going to look at some of the top books you can buy in order to learn the Golang programming language.

The Go Programming Language

The Go Programming Language The Go Programming language by Alan A. A. Donovan and Brian W. Kernighan is an absolutely fantastic book that I would highly recommend to everyone wanting to get up to speed with the language. It's comparatively cheap when compared to other technical books and is packed full of excellent information about the fundamentals of go.

It’s ideal for those of you who want to learn how to write idiomatic go in real-life situations and requires no prior knowledge of the language.

The Book Covers

  • The Fundamentals of Go
  • Concurrency in Go
  • Packages and the Go Tool
  • Testing
  • Low-level programming

Go in Action (1st Edition)

Go In ActionGo in Action represents an excellent introduction to Google's own Go programming language. Within the confines of the 250 odd pages it manages to cover everything you need to get up and running with this language. All in all it complements the Go Programming Language book currently sitting in first position.

You’ll spend time within this book building real-world applications such as web sites and servers and come away a proficient golang developer.

The Book Covers

  • A Quick start guide to go
  • The packages and tooling
  • Concurrency and Concurrency Patterns
  • The Standard Library
  • Testing and Benchmarking

Introducing Go

Introducing GoIntroducing Go by Caleb Doxsey is a fantastic, affordable O'Reilly book that is ideal for those of you with no knowledge of the Go programming language. The book gives very simple examples that bring you up to speed quickly and concisely.

The book starts off with simple concepts and builds up to more advanced topics such as testing and concurrency. Overall, I’d recommend this book in conjunction with one of the above books as it is a quick and easy introduction to the language, good for getting up and running quickly but you may desire more in-depth coverage of the advanced topics once you are done.

The Book Covers

  • Getting started with Go
  • Go’s Type System
  • Structs and Interfaces
  • Packages
  • Testing
  • Concurrency

Advanced Books

In this section I’ll be listing books which are more advanced in nature and cover material that may be unsuitable for those who have little-to-no experience with the go programming language

Network Programming with Go

Network programming with goNetwork Programming with Go by Jan Newmarch is a book that I am currently reading and it's packed full of incredibly useful and in-depth information on topics such as the ISO/OSI protocol, low level concepts such as TCP/UDP, socket programming and much, much more. It's so far a little rough in edges with regards to typos but overlooking that it's a great read to get you up and running with Network programming using Golang.

This list is under construction, more books will be added as and when I am able to read and review them.