Learn to Build Professional Web Applications with Go

Let’s Go is a clear, concise and easy-to-follow guide to web development with Go.

It packs in everything you need to know about best practices, project structure and practical code patterns — without skimping on important details and explanations.

“The book is brilliant, I’m learning so much from it. It’s definitely the best book I’ve read on developing a non-trivial web app with Go.” John Zanchetta Ops & test engineer / France

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

You might be wondering things like:

  • Where can I see a concrete example of a real-world web application?
  • How is it best to structure and organize my code?
  • How do I manage and version control dependencies?
  • And how do I effectively test my web application?

Let’s Go answers these questions for you — and a whole lot more — helping you get up to speed quickly and saving you months of research and experimentation.

The book walks through the start-to-finish build of a complete working application, helping you to learn by doing. You’ll get practical experience implementing common real-life code patterns, the topics that you’re learning about are put in context, and you’ll end up with a well-structured codebase that you can adapt for your own future work.

By the end of the book, you’ll have all the knowledge and confidence that you need to build your own professional, production ready, web applications.

So grab your copy, break out your text editor, and happy coding!

Alex Edwards
“I came to Go from Python/Flask and I was getting frustrated by how long it was taking me to reimplement some of the coding patterns in Go on my own. Your book saved me about six months of work and now I feel like I’m finally ready to build a production system in Go.” Andres Morey Lead developer / New York

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 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. 9Form validation — How to implement a reusable and user-friendly pattern for validating forms and displaying errors.
  10. 10Session management — How to use and configure sessions to persist data between requests.
  11. 11Using HTTPS — How to correctly setup a HTTPS server and configure it for improved performance and security.
  12. 12Embedding files — How to embed static assets (like HTML templates, images, CSS and JS files) into your Go binary.
  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 complete chapter listing.

Join 9,232 Others and Level-up Your Go Skills Here’s what some readers are Tweeting…

About the Author

Hey, I’m Alex Edwards, a full-stack web developer and author of Let’s Go and Let’s Go Further. I live near Innsbruck, Austria.

I’ve been working with Go for over 10 years, building production applications for commercial clients and myself (including the website that you’re reading now!) and helping people all around the world improve their Go skills.

You can see more of my writing on my blog (where I publish detailed tutorials), some of my open-source work on GitHub, and you can also follow me on Instagram and Twitter.

Publication Information

Written for: Go 1.22
Last updated: March 21st, 2024
Formats: HTML, PDF and ePUB
Language: US English
Size: 403 pages (in PDF format)
Version: 2.22.0
Guarantee: All purchases come with a 30-day money-back guarantee.
“If you’re wondering how to begin writing production apps, I strongly recommend Let’s Go. Reading and implementing it took my Go project from spindly spaghetti code to well-structured, testable packages.” Mario Vega Web developer / California

Ready to get to grips with Go? Choose the package which works for you!

Let’s Go Professional Package
  • The full Let’s Go book in HTML, PDF & 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
  • DRM free – yours to download, read and keep forever
  • Updated for Go 1.22
  • All future updates included
Get the package $59.95 USD

Buying for your team? View team pricing options.

Let’s Go Book
  • The full Let’s Go book in HTML, PDF & EPUB format
  • In-depth explanations – learn why as well as how
  • DRM free – yours to download, read and keep forever
  • Updated for Go 1.22
  • All future updates included
Get the book $34.95 USD
“The practical advice about the Go ecosystem and best practices has saved me an enormous amount of time, guesswork and frustration. Thanks!” Tushar Samant Web developer / Chicago

Frequently Asked Questions

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 built web applications in other languages before.

What if the book isn’t right for me?

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

Does the book use a framework or the standard library?

Let’s Go teaches you to build web applications using the Go standard library (rather than 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.

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.

What happens after I buy 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.

What are the guided exercises?

In the Professional Package, at the end of the book there are 6 exercises which extend the application build. 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 test yourself and check your understanding.

How do you provide access to the source code?

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

Any other questions? Email me at alex@alexedwards.net and I’ll be happy to help.

Ready to get started?

Get the book

Team Licenses

With a team license you can buy multiple copies of the Professional Package to allocate to employees. It’s perfect for getting your team up to speed with Go for new projects, or for onboarding new hires, interns and contractors to your tech stack.

“I can highly recommend Let’s Go, it helped lots of engineers in learning Go at @bitrise.” Gabor Nadai Engineering Manager / Bitrise
Up to 3 team members Get for $135 →
Up to 5 team members Get for $225 →
Up to 10 team members Get for $395 →
Up to 15 team members Get for $585 →
Up to 25 team members Get for $895 →
Anything else Contact me