Go in 24 Hours

Next Generation Systems Programming with Golang

George Ornbo

Published by
ISBN 9780672338038
RRP £29.99
Reviewed by Dr Patrick Hill CEng MBCS CITP

10 out of 10

The Go programming language is a relatively new language born out of its creators’ frustration with the complexity of other systems programming languages, such as C++, and initially released in 2009. Since then, Go has gathered significant support, with important developments, such as Docker and Kubernetes being written in Go.

This book is an introduction to programming using Go, aimed at programmers at beginner or intermediate level. Like other books in the series, the book is divided into 24 chapters, each representing a hypothetical hour’s worth of learning. Registering the book gives access to two additional chapters that are available for download from the book’s website.

The content is broadly structured into two parts, with the first concentrating on the Go language itself while the second half is concerned with pragmatic aspects of using the language.

Early chapters describe how to obtain and install a Go environment as well as overviewing the available development tools and IDEs. The book quickly begins to acquaint the reader with Go code by introducing Go’s implementation of common programming language features such as program structure, flow control, types, structures and pointers, variables and scope, functions and exception handling. The content then focuses on key features of Go itself, including polymorphism through methods and interfaces and concurrency and synchronisation though goroutines and channels.

The second half of the book concentrates on practical aspects of using the Go language. In these chapters, the reader is introduced to Go’s module system and aspects of idiomatic Go as well as approaches to testing and debugging Go programs. There are also chapters which describe the use of Go and its libraries in developing components of web applications and performing related tasks such as processing JSON and text data.

The book is fast-paced, well written and very readable. Each chapter is structured with an introductory section outlining the chapter’s learning objectives, the chapter content itself, and a summary. Chapters contain numerous code examples, and include short ‘Q&A’ sections, quiz questions and exercises in order to help reinforce and extend learning.

The emphasis is very much on hands-on learning, with the reader being encouraged to try and experiment with short code samples. Code examples are brief enough to be quickly typed in, but they are also available for download from the book’s website.

This a great introduction to Go which can easily be read in its entirety but will also serve as a useful reference book.

Further information: Pearson

May 2018