The Go Programming Language

Author: Alan A. A. Donovan
Publisher: Addison-Wesley Professional
ISBN: 0134190564
Size: 19.60 MB
Format: PDF, ePub, Docs
View: 2835
Download
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.

The Go Programming Language Phrasebook

Author: David Chisnall
Publisher: Addison-Wesley
ISBN: 0132919001
Size: 43.37 MB
Format: PDF, ePub
View: 2558
Download
The Go Programming Language Phrasebook Essential Go code and idioms for all facets of the development process This guide gives you the code “phrases” you need to quickly and effectively complete a wide variety of projects with Go, today’s most exciting new programming language. Tested, easy-to-adapt code examples illuminate every step of Go development, helping you write highly scalable, concurrent software. You’ll master Go-specific idioms for working with strings, collections, arrays, error handling, goroutines, slices, maps, channels, numbers, dates, times, files, networking, web apps, the runtime, and more. Concise and Accessible Easy to carry and easy to use: Ditch all those bulky books for one portable pocket guide Flexible and Functional Packed with more than 100 customizable code snippets: Quickly create solid Go code to solve just about any problem Register your book at informit.com/register for convenient access to downloads, updates, and corrections as they become available.

The Way To Go

Author: Ivo Balbaert
Publisher: iUniverse
ISBN: 1469769166
Size: 65.65 MB
Format: PDF, ePub, Docs
View: 457
Download
This book provides the reader with a comprehensive overview of the new open source programming language Go (in its first stable and maintained release Go 1) from Google. The language is devised with Java / C#-like syntax so as to feel familiar to the bulk of programmers today, but Go code is much cleaner and simpler to read, thus increasing the productivity of developers. You will see how Go: simplifies programming with slices, maps, structs and interfaces incorporates functional programming makes error-handling easy and secure simplifies concurrent and parallel programming with goroutines and channels And you will learn how to: make use of Go's excellent standard library program Go the idiomatic way using patterns and best practices in over 225 working examples and 135 exercises This book focuses on the aspects that the reader needs to take part in the coming software revolution using Go.

Learning Go Programming

Author: Vladimir Vivien
Publisher: Packt Publishing Ltd
ISBN: 1784392332
Size: 66.66 MB
Format: PDF, ePub
View: 2216
Download
An insightful guide to learning the Go programming language About This Book Insightful coverage of Go programming syntax, constructs, and idioms to help you understand Go code effectively Push your Go skills, with topics such as, data types, channels, concurrency, object-oriented Go, testing, and network programming Each chapter provides working code samples that are designed to help reader quickly understand respective topic Who This Book Is For If you have prior exposure to programming and are interested in learning the Go programming language, this book is designed for you. It will quickly run you through the basics of programming to let you exploit a number of features offered by Go programming language. What You Will Learn Install and configure the Go development environment to quickly get started with your first program. Use the basic elements of the language including source code structure, variables, constants, and control flow primitives to quickly get started with Go Gain practical insight into the use of Go's type system including basic and composite types such as maps, slices, and structs. Use interface types and techniques such as embedding to create idiomatic object-oriented programs in Go. Develop effective functions that are encapsulated in well-organized package structures with support for error handling and panic recovery. Implement goroutine, channels, and other concurrency primitives to write highly-concurrent and safe Go code Write tested and benchmarked code using Go's built test tools Access OS resources by calling C libraries and interact with program environment at runtime In Detail The Go programming language has firmly established itself as a favorite for building complex and scalable system applications. Go offers a direct and practical approach to programming that let programmers write correct and predictable code using concurrency idioms and a full-featured standard library. This is a step-by-step, practical guide full of real world examples to help you get started with Go in no time at all. We start off by understanding the fundamentals of Go, followed by a detailed description of the Go data types, program structures and Maps. After this, you learn how to use Go concurrency idioms to avoid pitfalls and create programs that are exact in expected behavior. Next, you will be familiarized with the tools and libraries that are available in Go for writing and exercising tests, benchmarking, and code coverage. Finally, you will be able to utilize some of the most important features of GO such as, Network Programming and OS integration to build efficient applications. All the concepts are explained in a crisp and concise manner and by the end of this book; you would be able to create highly efficient programs that you can deploy over cloud. Style and approach The book is written to serve as a reader-friendly step-by-step guide to learning the Go programming language. Each topic is sequentially introduced to build on previous materials covered. Every concept is introduced with easy-to-follow code examples that focus on maximizing the understanding of the topic at hand.

Compiler

Author: Alfred V. Aho
Publisher: Pearson Deutschland GmbH
ISBN: 9783827370976
Size: 29.31 MB
Format: PDF, ePub, Mobi
View: 635
Download

Go Programming Language

Author: Steven Keller
Publisher:
ISBN: 9781539380474
Size: 74.92 MB
Format: PDF, ePub, Mobi
View: 4165
Download
This guide is an exploration of the Go programming language version 1.6. It begins by explaining to the user about the Go programming language so that they can learn the purposes for which it can be used, as well as where it originated from. Go 1.6 supports a feature known as concurrent programming in which several tasks can be carried out simultaneously. This book guides you on how to fetch URLs concurrently in Go 1.6. In this case, you will learn how to fetch more than one URL at the same time in Go programming language. The HTTP/2 protocol which is now supported in Go programming language is explored. You will learn how to create a HTTP/2 server in Go programming and establish a connection to it from the Go client. Template blocks, which are very useful when programming in Go programming language have been explored in detail, thus, you will learn how to work with them. The feature known as "Language Matching" in Go is also examined. The process of sorting has been advanced in Go 1.6, thus, you will learn the new techniques which are employed. The following topics are discussed: -Overview -Fetching URLs Concurrently -HTTP/2 and Go -Template Blocks -Language Matching -Sorting -Package Reflect -Tools

Nichtsequentielle Und Verteilte Programmierung Mit Go

Author: Christian Maurer
Publisher: Springer-Verlag
ISBN: 3658211539
Size: 30.93 MB
Format: PDF, Mobi
View: 3054
Download
Der Band bietet eine kompakte Einführung in die Nichtsequentielle Programmierung als gemeinsamen Kern von Vorlesungen über Betriebssysteme, Verteilte Systeme, Parallele Algorithmen, Echtzeitprogrammierung und Datenbanktransaktionen. Basiskonzepte zur Synchronisation und Kommunikation nebenläufiger Prozesse werden systematisch dargestellt: Schlösser, Semaphore, Monitore, lokaler und netzweiter Botschaftenaustausch. Die Algorithmen sind in der Programmiersprache Google Go formuliert, mit der viele Synchronisationskonzepte ausgedrückt werden können.