Part 2 Building robust applications

 

In the second part of this book, we’ll take our fundamentals and start to put them into action, building the kind of Go applications that can stand up to real production stresses.

To kick things off, in chapter 4, we’ll look at error handling. Go has a rather esoteric pattern for catching and bubbling errors, so we’ll look at patterns that allow you to get comfortable with this without creating a nest of complexity.

In chapter 5, we dig into concurrency, one of Go’s greatest strengths. You’ll learn about goroutines and the Go approach to concurrency, message passing, and asynchronous communication.

Chapter 6 focuses on a critical, if often-overlooked, part of application development: code consistency, testing, and benchmarking. Getting confidence that the code you’ve written will work is the kind of foundation every developer needs.

In chapter 7, we’ll learn how to interact with the filesystem and networking using Go. We’ll get down to how Go can help you work with TCP/UDP at a lower level and how to deal with the filesystem using different approaches.

This part finalizes the foundations necessary to start building rock-solid applications for production, which we get into in part 3.