Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition

Mastering Go: Harness the power of Go to build professional utilities and concurrent servers and services, 3rd Edition

Master key features of Go, including advanced concepts like concurrency and working with JSON, to create and optimize real-world services, network servers, and clients.

Key Features

  • Third edition of the bestselling guide to advanced Go programming, expanded to cover RESTful servers, the WebSocket protocol, and Go generics
  • Use real-world exercises to build high-performance network servers and powerful command line utilities
  • Packed with practical examples and utilities to apply to your own development work and administrative tasks
  • Clearly explains Go nuances and features to simplify Go development

Book Description

Go is the language of the future for high-performance systems due to its simplicity and clear principles. Mastering Go shows you how to put Go to work on real production systems. This new edition has been updated to include topics like creating RESTful servers and clients, understanding Go generics, and developing gRPC servers and clients.

Mastering Go, Third Edition explores the capabilities of Go in practice. You will become confident with advanced concepts, including concurrency and the operation of the Go Garbage Collector, using Go with Docker, writing powerful command-line utilities, working with JavaScript Object Notation (JSON) data, and interacting with databases. You will also improve your understanding of Go internals to optimize Go code and use data types and data structures in new and unexpected ways.

This Go programming book also covers the nuances and idioms of Go with exercises and resources to fully embed your newly acquired knowledge. Become an expert Go programmer by building Go systems and implementing advanced Go techniques in your projects.

What you will learn

  • Use Go in production
  • Write reliable, high-performance concurrent code
  • Manipulate data structures including slices, arrays, maps, and pointers
  • Develop reusable packages with reflection and interfaces
  • Become familiar with generics for effective Go programming
  • Create concurrent RESTful servers, and build gRPC clients and servers
  • Define Go structures for working with JSON data

Who this book is for

This book is for Go programmers with previous coding experience, who are familiar with the basics of the language and want to become expert Go practitioners.

Table of Contents

  1. A Quick Introduction to Go
  2. Basic Go Data Types
  3. Composite Data Types
  4. Reflection and Interfaces
  5. Go Packages and Functions
  6. Telling a UNIX System What to Do
  7. Go Concurrency
  8. Building Web Services
  9. Working with TCP/IP and WebSocket
  10. Working with REST APIs
  11. Code Testing and Profiling
  12. Working with gRPC
  13. Go Generics
  14. Appendix

More about the author

Mihalis Tsoukalos, Mihalis Tsoukalos holds a BSc in Mathematics from the University of Patras and an MSc in IT from University College London, UK. His previous books, Go Systems Programming and Mastering Go, have become a must-read for Unix and Linux systems professionals. He works as a Unix systems engineer, database administrator, and mathematician. He enjoys writing technical articles and has written for Sys Admin, MacTech, C/C++ Users Journal, USENIX; login:, Linux Journal, Linux User and Developer, Linux Format, and Linux Voice. His research interests include time series, indexing, and databases.

All content is for demonstration purposes, we do not store files, please purchase the printed version of the magazine after reading.

There are many ads here. Please keep in mind that readnote.org is 100% free. Ads are keeping this site alive. If you use, please make an exception and disable any ads blocking system.

Extraction code:(dcui)