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:

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

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

just finished the book

Really enjoying @ajmedwards

Bought this book a couple of days ago. Great guide to take you from “I’ve read the http section of a bunch of Go books” to knowing how to professionally structure things. Lots of food for thought. #go #golang #moderndevelopment — Andy Jeffries (@andyjeffries)

This book has been extremely well written. Best practices and techniques presented in a very objective and easy to understand manner. #golang — Witte (@cewitte)

Just finished Let’s Go by @ajmedwards - highly recommended. Practical, engaging, well thought out. #golang #webdev — Konstantin Harten (@konha)

Really enjoyed this book. Very practical. Gives you the right knowledge to get productive and deploy small safe web apps! — Björn Tegelund (@_bjrnt)

Just finished the Let's Go book by @ajmedwards - Learned one hell of a lot about structuring Go apps. Definitely one I'd recommend — Rob Edwards (@RuddlesDev)

This book is excellent, and I highly recommend it (and this is coming from a PhD in computer science). — Trevor Sawler (@tsawler)

I'd highly recommend @ajmedwards book called

Incase you want to learn golang for web development, best resource I have come across. Worth the time and money. @ajmedwards. — Tife (@wati_fe)

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.23
Last updated: August 18th, 2024
Formats: HTML, PDF and ePUB
Language: US English
Size: 403 pages (in PDF format)
Version: 2.23.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 Let’s Go Book

“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 email 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 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.

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.

Can I get an invoice?

Yes, in your email receipt there is a link that you can use to generate an invoice with a specific name and billing address. Please see these instructions.

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.

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

Ready to get started?

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