Introducing Go
Author: Caleb Doxsey
Review created: 2019-07-06
Introducing Go by Caleb Doxsey is a really short (< 100 pages) and really good book with the aim of giving an overview of the Go language. The book expects you to have some programming experience in another language. You don't have to be a programming wizard of any kind, but you need to understand what an if clause is and so on.
The chapters in the book are:
- Getting Started
- Types
- Variables
- Control Structures
- Arrays, Slices and Maps
- Functions
- Structs and Interfaces
- Packages
- Testing
- Concurrency
- Next steps
As you can see from the list above, the book covers a broad range of Go related topics. After having read the book you will have an understanding of many of the constructs of the language. Because of its length, the book does not cover each topic in depth so don't assume that you will be fully learned after having read it. The chapters are from two to 20 pages long, with the average being a little less than ten pages.
Each chapter ends with a number of exercises testing your understanding of the contents of the chapter. This I like very much. It enhances learning and helps you practice what you've learned without you having to come up with exercises of your own. The exercises are rather easy and can most often be solved quickly, which fits well with the overall briefness of the book. Answers to the exercises can be found in an appendix in the end of the book. This is really useful to check that you've understood the topic of the chapter correctly.
Summary: I think that Introducing Go is an excellent first book on Go. After having read it and done the exercises, you'll have a good overview and a working knowledge of many of the constructs of the language. You'll then be able either to start on some project of you're own or go on to read a more thorough book on Go. If you start a project of your own, you might need a little help from Google from time to time, but on the other hand: who doesn't? Highly recommended as a first book on Go!