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

“I liked that the book was clear and that it reinforced what I already knew, but got a second opinion. Really glad it addressed the security issues in some of the libs.”

Lucas Caballero, Colorado

“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

Foreword

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 6 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.12
  • 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 source code for all chapters
  • 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.12
  • Future updates and releases included
I want this!

Fancy a 10% discount? Take a quick survey about how you use Go

Publication Information