Best go programming books

Posted on 08-07-2017 by onlinebooksreview


Go is definitely one of the fastest-growing languages for web servers and networking. But you can use it as a general programming language to work with pretty much everything, and there are tons of books to help you learn this language without any struggle.

Here I've listed some of the best books on Go programming language. Take a good look at this list and see what you can find. Whether you're a complete beginner or a semi-skilled coder these books can surely help you learn Go from scratch.

The Go Programming Language (Addison-Wesley Professional Computing Series)

The Go Programming Language is considered as the authoritative book on Go programming language. This comprehensive, beginner friendly guide will help you write clear and idiomatic Go program to solve real-world problems. You need no prior knowledge in Go to work through the lessons of this book. It is accessible to anyone who is new to Go or doesn't even know programming.


What you'll learn:

  • The basic concepts of Go such as file I/O and text processing, simple graphics, and web clients and servers
  • The structural elements of Go programs: syntax, control flow, data types
  • Organizing a program into packages, files, and functions How to build, test, and maintain projects using the go tool
  • Object-oriented programming in Go--the key principles of encapsulation, composition, and substitutability using realistic examples
  • How to build, test, and maintain projects using the go tool
  • The basic mechanisms of goroutines and channels
  • The art of metaprogramming using reflection
  • Using the cgo tool to create Go bindings for C libraries

Go in Action

If you're an intermediate-level developer in Go or in any other languages and wants a jump-start in learning Go or a more deep understanding of the language, you should read this guide. Go in Action will provide you an intense, comprehensive and idiomatic understanding of Go. 

What you'll learn:

  • Fundamentals of Go
  • Using Packaging and tooling in Go
  • Arrays, slices, and maps
  • Go's type system
  • Concurrency and Concurrency patterns
  • Writing real-world applications including websites and network servers
  • Standard library
  • Testing and benchmarking

Introducing Go: Build Reliable, Scalable Programs

It is a perfect book for those who are familiar with programming basics. This hands on guide will help you understand the core features of Go with step-by-step instructions and exercises in each chapter. By the end of this book, you'll feel comfortable writing your own applications and expanding your knowledge on your own.

What you'll learn:

  • Go basics--data types, variables, and control structures
  • Complex types, including slices, functions, structs, and interfaces
  • Using Go’s core library 
  • How to create your own package
  • Using the language’s go test program to write tests for your code
  • How to run programs concurrently with goroutines and channels

Writing An Interpreter In Go

If you're interested in how your favorite, interpreted programming language works and want to build one of your own. But you have no prior knowledge of compiler construction and don't want to work through a theory-heavy compiler book as a beginner. Then this is the best book out there to help you do this in Go programming language.  With this book, you will be able to create a programming language and a fully working interpreter for that programming language.

What you'll learn:

  • Building an interpreter for a C-like programming language from scratch
  • Building lexer, parser and Abstract Syntax Tree (AST) of your own
  • Working principles of closures and how to use them
  • Pratt parsing technique
  • Building a recursive descent parser 
  • Creating built-in data structures
  • How to build REPL(Read–Eval–Print Loop) for your interpreter

Go Programming Blueprints - Solving Development Challenges with Golang

Go Programming Blueprints will help you to dive headfirst into actual enterprise problems and effectively solve them with the help of Go. With this unique book, you can build complete applications around a variety of subjects using a range of different technologies and techniques.

What you'll learn:

  • Building quirky and fun projects from scratch 
  • Exploring widely applicable skills, patterns, practices, and techniques
  • Creating websites and data services capable of massive scale using Go's net/http package
  • Working with RESTful patterns as well as low-latency WebSocket APIs
  • Interacting with a variety of remote web services 
  • Go's in-built concurrency mechanisms
  • Implementing a modern document database
  • Writing concurrent programs with smart use of channels


The Way To Go: A Thorough Introduction To The Go Programming Language

The Way To Go will show you the exact way how to go along with this relatively new programming language. It will help you understand the simplified syntax of Go and why it’s so much different than other languages.

What you'll learn:

  • The basics of Go and how to setup it on your computer
  • Working with slices, maps, structs, and interfaces 
  • Concurrent and parallel programming with goroutines and channels
  • Using Go's excellent standard library program
  • The idiomatic way to using patterns in Go
  • Error handling and testing
  • Networking, templates and web applications
  • Building a complete application in Go
  • Real world uses of Go

The Go Programming Language Phrasebook (Developer's Library)

If you're a Go developer you must sometimes find no way how to write code to quickly and effectively to complete your projects. Therefore you need a useful guide that will provide you the code "phrases" you need to quickly and effectively complete a wide variety of projects with Go. This guide is the perfect solution for you. It contains numerous essential Go code and idioms for all facets of the development process.


It provides code and idioms for:

  • Working with strings, arrays, slices, and collections
  • Handling errors
  • Goroutines and channels
  • Concurrency design patterns
  • Working with dates and times
  • Accessing files and the environment
  • Network access and web application
  • Distributing Go code

Programming in Go: Creating Applications for the 21st Century (Developer's Library)

This book is both a tutorial and language reference for Go. Programming in Go will teach you how to think in Go and write high-performance programs with Go.  Along the way, you'll learn 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.


What you'll learn:

  • How to get and install Go in your device
  • Basics of Go-- syntax, features, and extensive standard library
  • Programming Boolean values, expressions, and numeric types
  • Working with strings
  • Go's built-in collection types: slices and maps
  • Using Go as a procedural programming language
  • Object-oriented programming with Go
  • Importing and using standard library packages, custom packages, and third-party packages
  • Creating, documenting, unit testing, and benchmarking custom packages