5 Best Golang Books for Beginners in 2020

golang-head-first-go-landscape

Go Programming Language also known as “Golang”, and “Google Go” is designed and supported in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson. It is an open-source programming language that makes it easy to build simple, reliable, and efficient software. Even though Go is very different from other object-oriented languages, it is still the same beast. 

Go is a statically typed programming language that is expressive, concise, clean, and efficient. It is widely used in production at Google and in many open-source projects. 

There are so many great Go programming books for beginners. Choosing the right book is important as it can guide your learning.

In this article, I’ve compiled a list of best Go programming books for beginners through a collection of book reviews. Each book review highlights the taste of the book, the contents covered, and how it can benefit you. 

 

Why Learn Go?

As technology evolves, so does the number of new programming languages. So, what’s so good about learning the Go programming language?

Here are the reasons why you should learn Go programming:

  • Clean Syntax: Go has a very neat and clean programming syntax that is easy to write and understand. 

  • Open Source: As Go is open-sourced, there is a huge quantity as well as a variety of development tools that are already present and serve the purpose.

  • Concurrency: Go has been developed with the ability to process many tasks at the same time also known as concurrency. What this means is an impressive performance.

  • Portable: Go is portable! It does not matter what Operating System you prefer sitting in your PC, it can run on all of them.

  • Cloud Friendly: Go blends well with the proliferating cloud environments. You do not have to worry if Go can be used in the fast-growing cloud-centric platforms available.

 

What Makes Best Go Books?

To help you in selecting a well-structured and latest Go book for beginners, we have narrowed it down to the top 5 best Go books for beginners. 

Here are our criteria for selection of the books:

  • Use clear, precise, and easy-to-understand language

  • Thoroughly teach and explain the basic concepts of Go programming language 

  • Contain exercises, examples, and practice problems for hands-on experience

  • Enable to hold the attention of readers

  • Well-structured and friendly toward self-taught programmers

 

Best Go Books for Beginners 

If you would wish to start learning the Go programming language, well-written books written by experts in the language can be of high value to your quest. In this article, we are going to step through some of the best Go books for beginners to get yourself started with the language.

Here are the five best Go programming books for novice programmers:

1. Best book for completionists: Go Programming Language

The Go Programming Language authored by Alan A. A. Donovan and Brian W. Kernighan provides an excellent introduction to the Go language. It covers the recent stable version of the Go programming language (1.5) and is an authoritative resource for any programmer who wants to learn Go. The book does not assume prior knowledge of Go or any other programming language.

The book features hundreds of interesting and practical examples of well-written Go code that cover the whole language, its most important packages, and a wide range of applications. 

The book is divided into thirteen chapters and the contents covered in these chapters are:

  • Chapter 1 covers a tutorial on the basic concepts of Go and the introduction of the Go programming language

  • Chapter 2 covers the Program Structure 

  • Chapter 3 talks about the Basic Data Types

  • Chapter 4 talks about the Composite Types and covers arrays, slices, maps, structs, JSON, text, and HTML templates

  • Chapter 5 covers the Functions

  • Chapter 6 talks about Methods 

  • Chapter 7 covers the Interfaces 

  • Chapter 8 covers Goroutines and Channels with examples 

  • Chapter 9 covers Concurrency with Shared Variables

  • Chapter 10 covers Packages and the Go Tool

  • Chapter 11 covers Testing

  • Chapter 12 covers Reflection 

  • Chapter 13 talks about Low-Level Programming

Each topic is covered clearly and concisely and is packed with the details you need to learn to be truly effective. 

2. Best book for visual learners: Head First Go

Head First Go by Jay McGavren is a brain-friendly guide for Go programming. It is designed to guide you through Go programming challenges in a fun way. The book uses a visually rich format to engage your mind rather than a text-heavy approach that makes one sleepy while reading the contents.

There are 18 chapters in this book and the contents covered in the book are:

  • Chapter 1 covers the syntax basics

  • Chapter 2 covers Conditionals and Loops

  • Chapter 3 covers Functions

  • Chapter 4 talks about Packages

  • Chapter 5 covers Arrays

  • Chapter 6 covers Slices

  • Chapter 8 covers Maps

  • Chapter 7 gives the concept of building storage and Structs

  • Chapter 9 covers the defined types

  • Chapter 10 covers Encapsulation and Embedding

  • Chapter 11 covers Interfaces

  • Chapter 12 talks about the concept of Recovering from Failure

  • Chapter 13 covers Goroutines and Channels

  • Chapter 14 covers Automated Testing and talks about code quality assurance

  • Chapter 15 covers web Apps

  • Chapter 16 covers HTML Templates

  • Chapter 17 and 18 concludes the book with practical approaches to Go programming concepts 

The book uses multiple learning styles and includes challenges by asking questions that don't always have a straight answer. You will learn how to write Go code using clear examples that demonstrate the language in action. If you are looking for a fun and approachable book for Go programming, then this one is for you. The contents will make you stay focused and you will not be bored!

 

3. Best book for programmers who learn by doing: Sams Teach Yourself Go in 24 Hours: Next Generation Systems Programming with Golang

Sams Teach Yourself Go in 24 Hours by George Ornbo help novice programmers build software that’s simpler, more reliable, and far more scalable. This book has a straightforward and step-by-step approach that guides you from setting up your environment through testing and deploying powerful solutions. 

This book is organized into 24 chapters/lessons that should take approximately 1 hour each to work through. As you go through the book, you will be able to:

  • Get productive quickly with Go development tools and web servers

  • Master core features, including strings, functions, structs, and methods

  • Work with types, variables, functions, and control structures

  • Make the most of Go’s arrays, slices, and maps

  • Write powerful concurrent software with Goroutines and channels

  • Handle program errors smoothly

  • Promote code reuse with packages

  • Master Go’s unique idioms for highly effective coding

  • Use regular expressions and time/date functions

  • Test and benchmark Go code

  • Write basic command-line programs, HTTP servers, and HTTP clients

  • Efficiently move Go code into production

  • Build basic TCP chat servers and JSON APIs

Every chapter builds on what you have already learned, giving you a rock-solid foundation for real-world success. Each chapter includes step-by-step instructions, quizzes, exercises, practical hands-on examples, and notes and tips to avoid problems.  There are even

two “bonus chapters,” available only in the eBook forms that describe designing a RESTful API and a chat server.

The book makes a great companion for novice programmers adding a tool to their box.

 

4. Best book for total beginners: Introducing Go: Build Reliable, Scalable Programs

Introducing Go by Caleb Doxsey provides the one-on-one support you need to get started with the language. The book gives a quick and easy introduction to the language by starting with simple concepts and builds up to more advanced topics such as testing and concurrency. 

The contents of the book are divided into eleven chapters.

  • Chapter 1 helps you in getting started with Go

  • Chapter 2 covers Go’s Type System

  • Chapter 3 covers variables

  • Chapter 4 talks about control structures

  • Chapter 5 covers arrays, slices, and maps

  • Chapter 6 covers functions

  • Chapter 7 talks about Structs and Interfaces

  • Chapter 8 cover Packages

  • Chapter 9 cover Testing

  • Chapter 10 talks about Concurrency

  • Chapter 11 talks about the next steps to study Go programming

The book explains the Go programming concepts with step-by-step instructions and exercises in each chapter to help you practice what you learn. These simple and concise examples bring you up to speed quickly and concisely. By the time you finish this book, you will be able to write real Go programs and also ready to tackle advanced techniques.

 

5. Best book for active learners: Get Programming with Go

Get Programming with Go by Nathan Youngman and Roger Peppe gives a short and concise introduction to computer programming using the language Go. You will master Go syntax, work with types and functions, and explore bigger ideas like state and concurrency, with plenty of exercises to lock in what you learn.

The book follows a structured approach to learning. It is divided into seven units that include the following contents: 

  • Unit 0 - Getting Started

  • Unit 1 - Imperative Programming

  • Unit 2 - Types

  • Unit 3 - Building Blocks

  • Unit 4 - Collections

  • Unit 5 - State And Behavior

  • Unit 6 - Down The Gopher Hole

  • Unit 7 - Concurrent Programming

These units are divided into 32 quick-fire lessons. Each lesson has at least one exercise at the end to help with practicing what you just read. The exercises and unit projects in the book are fun and interesting to do. This book includes:

  • Language concepts like slices, interfaces, pointers, and concurrency

  • Seven capstone projects featuring spacefaring gophers, Mars rovers, ciphers, and simulations

  • All examples run in the Go Playground - no installation required!

This book is for anyone familiar with computer programming, as well as anyone with the desire to learn.

 

Conclusion 

By now, you must have a good idea of the essential things to look for when considering the latest and best book for Go. With that information, you’re now better equipped to find the right book to match your needs.

Books are not the only way to learn. You can pair your book with another form of media to maximize learning inputs and learn quickly.

Udemy has an abundance of quality and inexpensive Go courses — especially inexpensive if you stumble on one of Udemy’s flash sales. Codecademy also offers a free beginner Go course. Codecademy’s interactive courses are awesome and helps gel those programming concepts.

And if you’re interested in more resources than that, there are also an abundance of other free options. I’ve compiled over 70 free coding resources. They are quality and many of them I’ve tested out myself. I look forward to seeing you over there in that article if you’re interested. 👋 😊

 

Miranda Limonczenko

Miranda is the founder of Books on Code, with a mission to bring book-lover culture to programmers. Learn more by checking out Miranda on LinkedIn.

http://booksoncode.com
Previous
Previous

6 Best Java Books for Beginners in 2020

Next
Next

Are Programming Books Worth the Time and Cost?