1 Meet Go

 

This chapter covers

  • Go’s key features for modern software development
  • Go’s history and simplicity-driven philosophy
  • Go’s built-in tools for testing, benchmarking, and debugging
  • How hands-on projects help you master Go
  • Go’s versatility for backend and cloud applications

In this book, we aim to help you discover the strengths of Go by guiding you through real-world scenarios. From its efficient concurrency model to its built-in tools for testing and benchmarking, Go empowers developers to write clean, maintainable code without unnecessary complexity. We’ll tackle projects of varying complexity to ensure you get a hands-on understanding of what makes Go unique.

This book also provides you with a set of fun projects to progressively explore the features of the Go language. Each pocket-sized project is written in a reasonable number of lines. Our goal is to provide various exercises so any developer who wants to get started with Go or explore the language can follow the steps described in each chapter.

We want to help you become a better software developer by using the Go language. We’ll use our experience as software engineers to provide meaningful advice for newcomers and seasoned developers alike.

This book also contains tutorials for implementing APIs with microservices, demonstrating how the language is great for cloud computing. We’ll wrap the book up with a project that uses TinyGo, the compiler for embedded systems.

1.1 What is Go?

1.2 Why you should learn Go

1.2.1 How and where Go can help you

1.2.2 Where Go cannot help you

1.2.3 Comparison with commonly used languages

1.3 Why pocket-sized projects?

1.3.1 What you’ll know after reading the book (and writing the code)

Summary