Have a personal or library account? Click to login
Go Cookbook Cover

Go Cookbook

Build modular, readable, and testable applications in Go

Paid access
|Jun 2017

Bridge the gap between basic understanding of Go and use of its advanced features

Key Features

  • 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

Book Description

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.

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

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.

Table of Contents

  1. I/O and File Systems
  2. Command Line Tools
  3. Data Conversion and Composition
  4. Error Handling in Go
  5. All about Databases and Storage
  6. Web Clients and APIs
  7. Microservices for applications in Go
  8. Testing
  9. Parallelism and Concurrency
  10. Distributed Systems
  11. Reactive Programming and Data Streams
  12. Serverless Programming
  13. Performance Improvements, Tips, and Tricks
https://github.com/packtpublishing/go-cookbook
PDF ISBN: 978-1-78328-684-3
Publisher: Packt Publishing Limited
Copyright owner: © 2017 Packt Publishing Limited
Publication date: 2017
Language: English
Pages: 400