Hello, and welcome to learning Go! It’s great to have you here. This is the bundled edition of ‘For the Love of Go’, a book introducing the Go programming language, suitable for complete beginners, plus an accompanying video course where I’ll walk you step-by-step through every part of the material. If you don’t know anything about Go yet, or programming, but would like to learn, you’re in the right place! If you do already know something about Go, you should still find the course and book fun and interesting. Includes free updates for life.
About the book
Throughout the book we’ll be working together to develop a fun and useful project in Go: an online bookstore called Happy Fun Books!
Each chapter introduces a new feature or concept, and sets you some goals to achieve, with complete, step-by-step explanations of how to solve them, and full code listings with accompanying tests.
What you’ll learn
By reading this book and working through all the challenges and exercises, you’ll learn:
- How to write tests in Go and how to develop projects test-first
- How to manage data in Go using built-in types, user-defined struct types, and collections such as maps and slices
- How to use objects to model problems in Go, and how to add behaviour to objects using methods
- How to use pointers to write methods for objects, and how to use types and validation to make your Go packages a delight to use
- How to build powerful, flexible programs using control structures like loops and functions
Even more importantly, you’ll learn a simple, fun, and effective way to approach software engineering projects in Go. Even though the material is beginner-friendly, you’ll be mastering intermediate and advanced techniques such as test-driven development (TDD) and learning to design modules, packages, and APIs. These are essential skills in any modern software engineering role.
About the video course
I’ve taught Go programming to hundreds of students, and I’ve found that what tends to work best is a friendly, relaxed, and engaging approach. There are no rambling introductions or slides of bullet points: instead, you’ll be working right alongside me to build fun and useful projects in Go, like a calculator, or an online bookstore. Step by step, the basic concepts of Go will slot into place in a logical way as you use them to build realistic applications.
Every time the course introduces a new idea, there’ll be a challenge for you to solve, to help you practice the concept and make sure you’ve understood it. It’s helpful to absorb one idea fully before moving on to the next, and the course is structured in exactly this way.