num_pages: 380
description: 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 you'll find it an accessible guide whether you come from JavaScript 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.
language: English
title: The Go Programming Language
publisher: Addison-Wesley