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 project. Understand the reasons for the design decisions in Go. Set up a Go development environment for a solo developer or team. Learn how and when to use reflection, unsafe, and cgo. Discover how Go's features allow the language to run efficiently. Know which Go features you should use sparingly or not at all.