Best of
Go
2021
Learning Go: An Idiomatic Approach to Real-World Go Programming
Jon Bodner - 2021
While there are plenty of tutorials available that teach Go's syntax to developers with experience in other programming languages, tutorials aren't enough. They don't teach Go's idioms, so developers end up recreating patterns that don't make sense in a Go context. This practical guide provides the essential background you need to write clear and idiomatic Go.No matter your level of experience, you'll learn how to think like a Go developer. Author Jon Bodner introduces the design patterns experienced Go developers have adopted and explores the rationale for using them. You'll also get a preview of Go's upcoming generics support and how it fits into the language.Learn how to write idiomatic code in Go and design a Go projectUnderstand the reasons for the design decisions in GoSet up a Go development environment for a solo developer or teamLearn how and when to use reflection, unsafe, and cgoDiscover how Go's features allow the language to run efficientlyKnow which Go features you should use sparingly or not at all
Let's Go Further!
Alex Edwards - 2021
Let’s Go Further helps you extend and expand your knowledge of Go — taking you beyond the basics and guiding you through advanced patterns for developing, managing and deploying APIs and web applications.It builds on many of the concepts that were introduced in Let’s Go, and talks through the start-to-finish build of a RESTful JSON API — from initial project setup through to deployment in production.This gives us an opportunity to cover important topics in the context of a complete, working, application — including SQL migrations, CORS requests, permission-based authorization, managing background tasks, reporting metrics, automating build and deployment steps, and much more.If you enjoyed Let’s Go, this course should be a great fit for you and an ideal next step in mastering Go.
Cloud Native Go: Building Reliable Services in Unreliable Environments
Matthew A. Titmus - 2021
This practical book shows you how to use Go's strengths to develop cloud native services that are scalable and resilient, even in an unpredictable environment. You'll explore the composition and construction of these applications, from lower-level features of Go to mid-level design patterns to high-level architectural considerations.Each chapter builds on the lessons of the last, walking intermediate to advanced developers through Go to construct a simple but fully featured distributed key-value store. You'll learn best practices for adopting Go as your development language for solving cloud native management and deployment issues.Learn how cloud native applications differ from other software architecturesUnderstand how Go can solve the challenges of designing scalable, distributed servicesLeverage Go's lower-level features, such as channels and goroutines, to implement a reliable cloud native serviceExplore what "service reliability" is and what it has to do with "cloud native"Apply a variety of patterns, abstractions, and tooling to build and manage complex distributed systems