"Everyday Go" is the fast way to learn tools, techniques and patterns from real tools used in production.
This book is a compilation of practical examples, lessons and techniques for Go developers. The topics cover the software lifecycle from learning the fundamentals, to software testing, to distribution and monitoring.
If you feel like you may have seen some of these techniques before, you would be right. I've been writing about Go since 2015 and wanted to take everything that I've needed on a regular basis, and to lay it out for you to benefit from.
It's not a reference book or a complete guide to the language, but if you like learning by example and aren't afraid to get your feet wet, then this style is probably for you.
Features my top rated content on Writing unit-tests in Go, updated, extended and modernised for 2021, as featured in the Kubernetes documentation.
Read the launch post: I wrote a book about Everyday Go
Benefits to professional developers and businesses:
Craft internal tools that you'll enjoy building and maintaining
Deliver higher quality product through unit testing
Increase reliability and uptime through monitoring and metrics
Learn how to integrate quickly with brownfield APIs and products
Cover your training objectives for this year
Who is this book for?
Whether you're starting out with Go, or are at an intermediate level, then you will probably get a lot out of this book. You may get this book to expand your knowledge, or to go deeper in a certain area like Cross-compilation, Unit Testing, GitHub Actions or Goroutines.
It's also useful as reference material for experienced Go developers, for instance - the author uses the GitHub Actions and Prometheus chapters as a refresher when creating new services.
What do we cover?
How to use the book
Getting started with Go
Managing packages and paths
Understand Go modules and vendoring
Creating your first program in Go
Manage libraries and packages
Adding external dependencies to your program
Cross-compile your code for different Operating Systems
Inject version information into your binaries
Merge Go objects together into one
Deal with HTTP and JSON parsing
Learn how to use concurrency with Goroutines, channels, Mutexes, error groups and WaitGroups
Write unit tests and understand everything that's available to you
Learn party tricks of the testing in Go
Isolate dependencies and unit test a HTTP server
Embed data and files into your application
Create dynamic content with templates
Build a CLI that you'll enjoy using
Load and write to config files in YAML
Write your own HTTP microservices
Integrate with Prometheus for metrics
Learn to build and release Go binaries
Build Docker container images
Release your code on GitHub
Get set for your onward journey
You could say that this is the fast track to get the results you'll need in your everyday writing of applications in Go. The ePub has 180+ pages with a normal-sized font.
Premium + Team editions:
15 sample apps in a ZIP file to get you started without having to copy and paste
Serverless Supplement (coming soon) - Learn how to build Serverless functions in Go using OpenFaaS, which can also be deployed to Google Cloud Run and faasd.
Offers and Discounts:
Want a 20% discount? GitHub Sponsors can save on this eBook and my other publications on Gumroad through The Treasure Trove sponsors' portal.
Comments, questions & suggestions
If you think that you've found an error, or that you'd like to know more about a certain section, feel free to send me an email email@example.com. I may be able to improve the content for the next revision, which everyone will get for free.
For Kindle users, you may find you get a better reading experience if you convert the ePub file to mobi format.
You may also like my other eBooks:
In my Netbooting workshop for Raspberry Pi with K3s - you'll learn how to build a private cloud with Raspberry Pi and Kubernetes
In Serverless for Everyone Else - you'll learn what functions can do for you, how to build, deploy and monitor them.
What are people saying?
"Alex is a seasoned pro building software and products with Go. He’s a great communicator. You’ll be in a better place for having learned from his experience." - Jeff Nickoloff, Director Venmo
"Does Alex ever sleep? 😴 He just wrote a Golang book! I had a chance to read an early copy and its really useful, real life content! I liked the testing part the most! 👍" - Engin Diri, Developer Advocate @ Schwarz IT
"I got 'Everyday Golang'. So far, I love the learn by example style and I’m super amped to get to the 'make your own CLIs', writing your own microservices and integrating it with Prometheus for metrics 🙌 🚀" - Ruan Bekker, DevOps Engineer @ Techno Ponies
"Bought the book, it gives you very good insights on very relevant topics using Go as a beginner (and stuff for experienced developers). Using it for all my #CitrixADC projects." - Jan Tytgat, Founder @ Core Layer
"Reading a book written by an expert is one of the cheapest and best hacks there is. You can spend 5 years learning (and fighting) go on your own, or you can read Alex's latest book and instantly leverage his expertise with it." Ramiro Berrelleza, Co-founder @ Okteto
"I read a lot of code and I’m very picky about its quality, not just the logic part. But trust me, Alex produces highly pragmatic and, at the same time, elegant Go!" - Ivan Velichko, SRE @ Booking.com
“Not only is Alex a very knowledgable dude, he’s a genuinely nice guy that does whatever he can to help people. Totally worth checking out his ebook” - Keiran Smith, Lead Operations Engineer @ SolarWinds
"I'm midway through reading "Everyday Golang". Lots of valuable tips and context in there, especially since Go isn't my main language, great job." - DevOps Engineer @ Riskfuel Analytics
"I really liked the personal stories behind the content and seeing how your projects evolved like OpenFaaS from flags to Cobra to improve the user experience." - Felipe Cruz, DevOps Engineer
"I'm starting a new job which will be mostly Go. I’m fluent in many other languages, but a great book like this helps me get the bearings, idiomatic patterns and best practices of a new runtime and language much faster than grinding through the reference docs and finding quality example projects by myself." - Alexander Lais
"I know Go, but I was interested in the Prometheus instrumentation chapter and started recommending it as learning resource :)" - Michael Friedrich, Senior Ops in Dev Evangelism @ GitLab
"Just want to say, your book on Go has been really helpful for getting me up and running with it. Thanks for all the effort you put into it. I’m a async/await fanboy so really wanted some solid sources for learning the Go way." - Ed Stephinson, Senior Engineer @ boomin
"Judging by the table of contents, this is the most practical book I've ever seen on Go! Great work" - Hossein Kazemi @ boringbackend.dev
"Worth every cent. My favourites are the chapters about web services and Prometheus. These two chapters are most relevant for my daily business at work. Most other Go books are like “This is an if statement and this a while loop” which is hard for experienced developers to filter through, but your book is full of practical knowledge instead." - Markus Heinemann, Founder Trustify
"I really enjoyed "Everyday Go". It's very well-written, covers use cases not generally discussed in other programming books, is highly entertaining, and has lots of source code. Check it out!" - Jason Salas, Product Director @ KUAM Digital
- Everyday Go
- FormatsPDF & ePub