"Go is an open-source
programming language that makes it easy to build clean, reliable, and
efficient software. It has been winning converts from dynamic language
enthusiasts as well as users of traditional compiled languages. The
former appreciate the robustness and efficiency that Go's lightweight
type system brings to their code; the latter find Go's simplicity and
fast tools a refreshing change. Thanks to its well-designed standard
libraries and its excellent support for concurrent programming, Go is
fast becoming the language of choice for distributed systems.
The Go Programming Language
is the definitive book on Go for the working programmer. It assumes no
prior knowledge of Go, nor any other specific programming language, so
Ruby, Python, Java, or C++.
The book will quickly get you started
using Go effectively from the beginning, and by the end, you will know
how to use it well to write clear, idiomatic and efficient programs to
solve real-world problems. You'll understand not just how to use its
standard libraries, but how they work, and how to apply the same design
techniques to your own projects.
The earlier chapters will
introduce you to the basic concepts of Go programming---numbers,
strings, functions---while at the same time presenting important
computer science concepts like recursion, and useful examples of
graphics, UTF-8, and error handling. The chapters on methods and
interfaces will show you a new way to think about object-oriented
programming; the chapter on concurrency explains why concurrency is so
important in modern programming, and how Go helps you handle it well.
You'll also learn about Go's pragmatic but effective approach to
testing; how to build, test, and manage projects using the go tool, and
the art of metaprogramming using reflection.
The book contains
hundreds of interesting and practical examples that cover the whole
language and a wide range of applications. The code samples from the
book are available for download from gopl.io."