Let's Go! Learn to Build Professional Web Applications With Golang

Go is a great language for building web applications. But teaching yourself from blog posts and the standard-library documentation can often leave you with more questions than answers.

You might be wondering:

Let’s Go answers these questions for you — and a whole lot more.

The book guides you through the start-to-finish build of a real-world application, so you'll gain all the knowledge, understanding and confidence you need to create production-ready applications with Go.

Let's Go book cover

What You’ll Learn…

  1. 1All the fundamentals — How to start a server, create handlers, send responses, route requests and serve static files.
  2. 2Structure and organization — How to create an idiomatic and scalable structure for your web application.
  3. 3Using Modules — How to use Go's new Module functionality to manage and version control your dependencies.
  4. 4Managing configuration — How to use command-line flags and dependency injection to manage your application settings.
  5. 5Logging and Error Handling — How to implement leveled logging and centralized error handling.
  6. 6SQL databases — How to design a database model, set up a connection pool, and execute statements and queries.
  7. 7HTML templating — How to cache your templates, display dynamic data, create custom functions and handle runtime errors.
  8. 8Middleware — How to create your own middleware to perform common actions (like logging requests and recovering panics).
  9. 9RESTful routing — How to create a modern request routing structure that follows the principles of REST.
  10. 10Form validation — How to implement reusable and user-friendly pattern for validating forms and displaying errors.
  11. 11Session management — How to use and configure sessions to persist data between requests.
  12. 12Using HTTPS — How to correctly setup a HTTPS server and configure it for improved performance and security.
  13. 13Prevent common vulnerabilities — How to prevent SQL injection, CSRF, XSS, clickjacking and slow-client attacks.
  14. 14Authentication and authorization — How to safely encrypt user passwords and add signup, login and logout functionality.
  15. 15Request context — How to use Go's context.Context to pass data between your middleware and handlers.
  16. 16Testing — How to create unit tests, integration tests and end-to-end tests, mock dependencies and measure test coverage.
  17. 17And most importantly… How to put it together in a fully-functioning application!

Want to get a better feel for the book? Take a look through the free sample and chapter listing

What Readers Are Saying…

I feel like this is the best programming book I've ever read. I came in with a basic understanding of golang relative to web development and this book clearly broke down all the essentials you need to get up to speed with the language in a web dev context.”

Michael Degli-Angeli, Toronto

“Really enjoying the book, I'd been learning Go from various online tutorials but was struggling with gaining traction and how to organise a project, your book has really helped with its "learn as you code approach".”

Andrew Link, Norfolk

I really liked the advice on how to structure a project. I'm now refactoring my first Golang project to use your advice, which will make it easier to read and maintain.”

Paul Bradbury, Cumbria

“Thank you for the Golang book you've produced, it was fantastic. Your explanations and walkthrough felt like I was being taught by a veteran over the shoulder. I got exactly what I was expecting and in comparison to other tutorial books this one is leagues ahead.”

Jack Callister, Munich

“I read this book a few months ago and found it very useful as an introduction to web programming with Go. I also read other books and this was by far the best, there is value in every chapter... I recommend it to any Go beginner wanting to get started building web apps.”

ElectronicWater, Reddit

“Just bought your book, and I’m very impressed. I’ve been teaching at the university level for quite some time, and as an educator I have to say that your method of presenting the information is exceptionally clear and effective.”

Trevor Sawler, New Brunswick

“I purchased your Go book a few days ago and have torn through it. I finished it last night and was thoroughly impressed. I’ve read through quite a lot of books, tutorials etc of this nature and so far have enjoyed your style the most. You’ve excited me about starting my next project!

Tom Speak, London

“Just completed the course and I have to say it completely exceeded my expectations. I am looking forward to any future material your publish. Thanks again for your awesome course!”

— Nick Achis


Let's Go teaches you step-by-step how to create fast, secure and maintainable web applications using the fantastic programming language Go.

The idea behind the book is to help you learn by doing. Together we'll walk through the start-to-finish build of a web application — from structuring your workspace, through to session management, authenticating users, securing your server and testing your application.

Building a complete web application in this way has a number of benefits. It helps put the things you're learning into context, it demonstrates how different parts of your codebase link together, and it forces us to work through the edge-cases and difficulties that come up when writing software in real-life. In essence, you'll learn more than you would by just reading Go's (great) documentation or standalone blog posts.

By the end of the book you’ll have the understanding — and confidence — to build your own production-quality web applications with Golang.

Although you can read the book cover-to-cover, it's designed specifically so you can follow along with the project build yourself.

Break out your text editor, and happy coding!

Alex Edwards

About the Author

Hey, I’m Alex Edwards, a full-stack web developer. I began working with Golang 8 years ago in 2013, and have been teaching people and writing about the language for nearly as long.

I’ve used Go to build a variety of production applications, from simple websites (including the one you’re reading now) to high-frequency trading systems. I also work on a number of open source Go packages, including the popular session management system SCS.

I live near Innsbruck, Austria. I post regularly on my blog and you can follow me on Instagram, Twitter and Github.

Money-back guarantee — If you don’t get anything from the book, then I don’t want your money. Just reply to your purchase receipt with 30 days and I’ll issue a full refund.

How will I get the book? You can buy online by PayPal, credit card or debit card over a secure encrypted connection. After purchase you'll immediately be given a download link for the book, and a email confirmation will also be sent to you.

Any questions? Feel free to drop me an email at alex@alexedwards.net and I’ll be happy to help.

Download Your Copy Now…

Let’s Go $34.95

  • The full book in HTML, PDF and EPUB format
  • In-depth explanations; learn why as well as how
  • All DRM-free and yours to download
  • Updated for Go 1.15
  • Future updates and releases included
I want this!

Let’s Go Professional Package $59.95

  • The full book in HTML, PDF and EPUB format
  • Complete application source code
  • Guided exercises to check your understanding
  • Printable cribsheets for net/http & database/sql
  • In-depth explanations; learn why as well as how
  • All DRM-free and yours to download
  • Updated for Go 1.15
  • Future updates and releases included
I want this!

Looking to buy this for your whole team?
I offer team licenses at a steep discount. Send me an email at alex@alexedwards.net to discuss your needs.

Frequently Asked Questions

What are the guided exercises?

At the end of the book there are 6 exercises which extend the application build further. Each exercise is broken down into high-level steps for you to work through, and there are suggested answers for each step. The exercises are designed to use the principles and patterns covered earlier in the book, so they're a good way to check your understanding and test yourself.

Is the book all based on the standard library?

Yes, the book teaches you to build web applications using the standard library (rather than using a specific framework like Buffalo, Echo or Gin). A few small external packages are used where it makes sense for security reasons and to reduce complexity.

Do you offer a student discount?

Yes, I'm happy to offer a 25% discount for anyone in full-time education. Email me at alex@alexedwards.net, and I'll send you a discount code that you can use at checkout.

Is this suitable for Go beginners?

Yep! The book deliberately takes a "learn as you code" approach, starting slowly with the basics of building a web application and gradually adding additional features and functionality. So long as you have a basic understanding of the Go syntax, you shouldn't have trouble following along — especially if you've build web applications in other languages before.

How often do you make updates? How will I get them?

Updated versions of the book will be emailed to you at the address you provide during checkout. These are usually sent out once every 6 months, to coincide with new major releases of the Go language. You can unsubscribe from the updates at any time.

How do you provide access to the source code?

The source code is simply included in a zip file as part of the book download. You can open it on your local machine and start exploring it right away.

What Readers Are Tweeting…

Publication Information

Close Fancy a 10% discount? Take the quick survey