وبلاگ بلیان

The Go programming language

معرفی کتاب «The Go programming language» نوشتهٔ Najwa Zebian و Donovan, Alan A. A.;Kernighan, Brian W، منتشرشده توسط نشر Addison-Wesley Professional در سال 2016. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.

The Go Programming Language is the authoritative resource for any programmer who wants to learn Go. It shows how to write clear and idiomatic Go to solve real-world problems. The book does not assume prior knowledge of Go nor experience with any specific language, so you'll find it accessible whether you're most comfortable with JavaScript, Ruby, Python, Java, or C++. The first chapter is a tutorial on the basic concepts of Go, introduced through programs for file I/O and text processing, simple graphics, and web clients and servers. Early chapters cover the structural elements of Go programs: syntax, control flow, data types, and the organization of a program into packages, files, and functions. The examples illustrate many packages from the standard library and show how to create new ones of your own. Later chapters explain the package mechanism in more detail, and how to build, test, and maintain projects using the go tool. The chapters on methods and interfaces introduce Go's unconventional approach to object-oriented programming, in which methods can be declared on any type and interfaces are implicitly satisfied. They explain the key principles of encapsulation, composition, and substitutability using realistic examples. Two chapters on concurrency present in-depth approaches to this increasingly important topic. The first, which covers the basic mechanisms of goroutines and channels, illustrates the style known as communicating sequential processes for which Go is renowned. The second covers more traditional aspects of concurrency with shared variables. These chapters provide a solid foundation for programmers encountering concurrency for the first time. The final two chapters explore lower-level features of Go. One covers the art of metaprogramming using reflection. The other shows how to use the unsafe package to step outside the type system for special situations, and how to use the cgo tool to create Go bindings for C libraries. The book features hundreds of interesting and practical examples of well-written Go code that cover the whole language, its most important packages, and a wide range of applications. Each chapter has exercises to test your understanding and explore extensions and alternatives. Source code is freely available for download from http://gopl.io/ and may be conveniently fetched, built, and installed using the go get command. 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. « Go may be our generation's most important new programming language. It is exceptionally expressive, highly efficient in both compilation and execution, and enables the development of extremely reliable and robust programs. It shares the same spirit programmers once found in C: it helps serious professional programmers achieve maximum effect with minimum means. Now, Go shares something else with C, too. Brian Kernighan, who wrote the world's most respected and useful C primer for working programmers, has just done the same for Go. Together with Google Go insider Alan Donovan, Kernighan explains what Go does and doesn't borrow from C ... the great ideas it borrows from other modern languages ... and how it avoids features that lead to unnecessary complexity and unreliable code. Throughout, their short, carefully-crafted code examples demonstrate today's most effective Go idioms, so you can start using Go effectively right from the beginning, and quickly take advantage of its full power. All code has been extensively reviewed by Go's creators at Google for both completeness and accuracy. »-- Résumé de l'éditeur Contents Preface Tutorial Program Structure Basic Data Types Composite Types Functions Methods Interfaces Goroutines and Channels Concurrency with Shared Variables Packages and the Go Tool Testing Reflection Low-level Programming Index
دانلود کتاب The Go programming language