chapter one

1 Meet Go

 

This chapter covers

  • Uncovering Go’s key features for modern software development.
  • Exploring Go’s history and simplicity-driven philosophy.
  • Harnessing Go’s built-in tools for testing, benchmarking, and debugging.
  • Understanding how hands-on projects help you master Go.
  • Discovering 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 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 begin with Go or to explore the language can follow the steps described in each chapter.

We want to help the reader become a good modern software developer by using the Go language. We will use our experience as software engineers to provide meaningful advice for newcomers and seasoned developers.

This book also contains tutorials for implementing APIs with microservices, demonstrating how the language is great for cloud computing. It finishes 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 can Go help you?

1.2.2 Where can Go NOT help you?

1.2.3 Comparison with commonly used languages

1.3 Why Pocket Projects?

1.3.1 Whom this book is for

1.3.2 What you will know after reading the book (and writing the code)

1.4 Summary