The goal of this guide is to manage this complexity by describing in detail theDos and Don'ts of writing Go code at Uber. These rules exist to keep the codebase manageable while still allowing engineers to use Go language featuresproductively.

    This documents idiomatic conventions in Go code that we follow at Uber. A lotof these are general guidelines for Go, while others extend upon externalresources: