Preface

The Go programming language is a simple one, but like all other languages, it has its quirks. This book uses these quirks as a teaching opportunity. By understanding the gaps in your knowledge, you’ll become better at what you do.

There’s a lot of research showing that people who make mistakes during the learning process learn better than people who don’t. If you use this approach at work when fixing bugs, you’ll find you enjoy bug hunting more and become a better developer after each bug you fix.

These teasers will help you avoid mistakes. Some of the teasers are from my own experience shipping bugs to production, and some are from others doing the same.

Teasers are fun! We geeks love puzzles and solving them. You can also use these teasers to impress your coworkers, have knowledge competitions, and become better together.

Many of these brain teasers are from quizzes I gave at conferences and meetups. I’ve found that people highly enjoy them, and they tend to liven the room.

At the beginning of each chapter, I’ll show you a short Go program and ask you to guess the output. The possible answers can be the following:

  • Won’t compile
  • Panic
  • Deadlock
  • Some output (e.g., [1 2 3])

Go Version

images/aside-icons/note.png

I’ve used Go version 1.14.1 to run the code; the output might change in future versions.

Before moving on to the answer and the explanation, go ahead and guess the output. After guessing the output, I encourage you to run the code and see the output yourself; only then proceed to read the solution and the explanation. I’ve been teaching programming for many years and found this course of action to be highly effective.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.23.127.197