Go in Practice

An invaluable resource you can start using on day one to build high-performance, real-world web applications.

– Gary A. Stafford, Thoughtworks

A great combination of simple examples with thorough explanations of practical concepts in Go.

– Brandon Titus, Mercury


Most of the chapters contain topic introductions followed by a series of recipe like techniques. Each technique shares a recipe for solving a problem with a discussion on the problem and solution.

The book contains techniques for:

  • Handling Linux style flags in your application.
  • CLI commands and sub-commands.
  • How to handle URL routing.
  • Multiple ways to handle application configuration.
  • Patterns for working with HTML Templates.
  • Serving static assets.
  • Working with REST APIs (including version handling).
  • Communicating between cloud services.
  • Generative and performance testing.
  • Monitoring the Go runtime in your applications.
  • Building multi-cloud compatible applications.
  • And many more...


Two sample chapters and the source code are available for download:

Chapter 1 Chapter 3 Source Code

About the Authors

Matt Butcher

Matt is a core contributor to Helm at Deis. He is the author of several books on programming and technology, and is a frequent open source contributor. Matt holds a Ph.D. in philosophy, and has taught both Philosophy and Computer Science at Loyola University Chicago. You can find him online at @technosophos and technosophos.com.

Matt Farina

Matt is a Principal Engineer in the Advanced Technology Group at Hewlett Packard Enterprise. He is an author, speaker, and regular contributor to open source. Matt has been developing software for over 25 years. You can find him online at @mattfarina and mattfarina.com.