Your Hands-On Guide to Go, the Revolutionary New Language Designed for Concurrency, Multicore Hardware, and Programmer Convenience
Today’s most exciting new programming language, Go, is designed from the ground up to help you easily leverage all the power of today’s multicore hardware. With this guide, pioneering Go programmer Mark Summerfield shows how to write code that takes full advantage of Go’s breakthrough features and idioms.
Both a tutorial and a language reference, Programming in Go brings together all the knowledge you need to evaluate Go, think in Go, and write high-performance software with Go. Summerfield presents multiple idiom comparisons showing exactly how Go improves upon older languages, calling special attention to Go’s key innovations. Along the way, he explains everything from the absolute basics through Go’s lock-free channel-based concurrency and its flexible and unusual duck-typing type-safe approach to object-orientation.
Throughout, Summerfield’s approach is thoroughly practical. Each chapter offers multiple live code examples designed to encourage experimentation and help you quickly develop mastery. Wherever possible, complete programs and packages are presented to provide realistic use cases, as well as exercises. Coverage includes
Quickly getting and installing Go, and building and running Go programs
Exploring Go’s syntax, features, and extensive standard library
Programming Boolean values, expressions, and numeric types
Creating, comparing, indexing, slicing, and formatting strings
Understanding Go’s highly efficient built-in collection types: slices and maps
Using Go as a procedural programming language
Discovering Go’s unusual and flexible approach to object orientation
Mastering Go’s unique, simple, and natural approach to fine-grained concurrency
Reading and writing binary, text, JSON, and XML files
Importing and using standard library packages, custom packages, and third-party packages
Creating, documenting, unit testing, and benchmarking custom packages