- Title Go Programming Language PDF
- Author(s) Alan Donovan, Brian Kernighan
- Publisher: Addison-Wesley Professional
- Paperback : 400 pages
- Language: English
- ISBN-10 : 9780134190440
- ISBN-13 : 978-0134190440
Book Description – Go Programming Language PDF
- The first chapter is a tutorial on the basic concepts of Go, introduced through programs such as file I/O and text processing, simple graphics, and web clients and servers.
- Introductory chapters cover the structural elements of a Go program: syntax, control flow, data types, and the organization of a program into packages, files, and functions. The examples describe several packages from the standard library and show how to create your own new packages. Subsequent chapters explain the package mechanism in more detail, and how to build, test, and maintain projects using Go tools.
- 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 fully satisfied. They explain the key principles of encapsulation, composition and substitution using realistic examples.
- Two chapters on concurrency delve into this increasingly important topic. The first, which covers the basic mechanisms of goroutines and channels, illustrates the style known as sequential communication processes for which Go is famous. The second covers the more traditional aspects of concurrency with shared variables. These chapters provide a solid foundation for programmers encountering concurrency for the first time.
- The last two chapters explore the low-level features of Go. One covers the art of metaprogramming using reflection. The second shows how to use unsafe packages to go outside the type system for special situations, and how to use the cgo tool to create Go bindings for C libraries.
The book contains hundreds of interesting and practical examples of well-written Go code that cover the entire language, its most important packages, and a wide range of applications. Each chapter has exercises to test your understanding and explore the elaboration and options.
About the Author
Alan A. a. Donovan is a member of Google’s Go team in New York. He has computer science degrees from Cambridge and MIT and has been programming in the industry since 1996. Since 2005, he has worked at Google on infrastructure projects and was a co-designer of its proprietary manufacturing system, Blaze. They have built several libraries and tools for static analysis of Go programs, including oracle -analysis, eg, and forename.
Brian W. Kernighan is a professor in the Department of Computer Science at Princeton University. He was a member of the technical staff at the Computing Science Research Center at Bell Labs from 1969 to 2000, where he worked on languages and tools for Unix. He is the co-author of several books including The C Programming Language, Second Edition (Prentice Hall, 1988), and The Practice of Programming (Addison-Wesley, 1999).