Bridge the gap between basic understanding of Go and use of its advanced features
About This Book
Discover a number of recipes and approaches to develop modern back-end applications
Put to use the best practices to combine the recipes for sophisticated parallel tools
This book is based on Go 1.8, which is the latest version
Who This Book Is For
This book is for web developers, programmers, and enterprise developers. Basic knowledge of the Go language is assumed. Experience with back-end application development is not necessary, but may help understand the motivation behind some of the recipes.
What You Will Learn
Test your application using advanced testing methodologies
Develop an awareness of application structures, interface design, and tooling
Create strategies for third-party packages, dependencies, and vendoring
Get to know tricks on treating data such as collections
Handle errors and cleanly pass them along to calling functions
Wrap dependencies in interfaces for ease of portability and testing
Explore reactive programming design patterns in Go
In Detail
Go (a.k.a. Golang) is a statically-typed programming language first developed at Google. It is derived from C with additional features such as garbage collection, type safety, dynamic-typing capabilities, additional built-in types, and a large standard library.
This book takes off where basic tutorials on the language leave off. You can immediately put into practice some of the more advanced concepts and libraries offered by the language while avoiding some of the common mistakes for new Go developers.
The book covers basic type and error handling. It explores applications that interact with users, such as websites, command-line tools, or via the file system. It demonstrates how to handle advanced topics such as parallelism, distributed systems, and performance tuning. Lastly, it finishes with reactive and serverless programming in Go.
Style and approach
This guide is a handy reference for developers to quickly look up Go development patterns. It is a companion to other resources and a reference that will be useful long after reading it through the first time. Each recipe includes working, simple, and tested code that can be used as a reference or foundation for your own applications.