Learning Go: An Idiomatic Approach to Real-World Go Programming
內容描述
Go is rapidly becoming the preferred language for building web services. There are plenty of tutorials available that teach Go's syntax to developers with experience in other programming languages. But 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 reveals design patterns that experienced Go developers have adopted and the rationale for them. You'll learn how to structure your project and choose the proper tools and libraries to create successful software.
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
Learn how Go's features allow the language to run efficiently
Know which Go features you should use sparingly, or not at all
Learn the future of Go, including Generics
作者介紹
Jon Bodner has been a software engineer, lead developer and architect for over 20 years. In that time, he has worked on software across many fields, including education, finance, commerce, healthcare, law, government, and internet infrastructure.
Jon is a Distinguished Engineer at Capital One, working on the semantic engine that provides payment page detection and population for Capital One's Eno browser extension (www.capitalone.com/applications/eno/virtualnumbers), and improving support for virtual credit card numbers inside of Capital One.
Jon is a frequent speaker at Go conferences, and his blog posts on Go and software engineering have been read by more than 150,000 people. He is the creator of the Proteus data access library (github.com/jonbodner/proteus) and co-developer of checks-out, a fork of the LGTM project (github.com/capitalone/checks-out).