Mastering Go: Leverage Go’s expertise for advanced utilities, empowering you to develop professional software, 4th Edition
Mastering Go: Leverage Go’s expertise for advanced utilities, empowering you to develop professional software, 4th Edition
English | 2024 | ISBN: 1805127144 | 737 pages | True/Retail PDF EPUB | 14.84 MB
Dive into the core of Go programming and cover advanced topics like generics, concurrency, web services, and cutting-edge testing techniques in this comprehensive fourth edition.
Key Features
Fully updated with coverage of web services, TCP/IP, REST APIs, Go Generics, and Fuzzy Testing
Apply your new knowledge to real-world exercises, building high-performance servers and robust command-line utilities, to deepen your learning
Gain clarity on what makes Go different, understand its nuances and features for smoother Go development
Book Description
Mastering Go, now in its fourth edition, remains the go-to resource for real-world Go development. This comprehensive guide delves into advanced Go concepts, including RESTful servers, and Go memory management. This edition brings new chapters on Go Generics and fuzzy Testing, and an enriched exploration of efficiency and performance. As you work your way through the chapters, you will gain confidence and a deep understanding of advanced Go topics, including concurrency and the operation of the Garbage Collector, using Go with Docker, writing powerful command-line utilities, working with jаvascript Object Notation (JSON) data, and interacting with databases.
You will be engaged in real-world exercises, build network servers, and develop robust command-line utilities. With in-depth chapters on RESTful services, the WebSocket protocol, and Go internals, you are going to master Go’s nuances, optimization, and observability. You will also elevate your skills in efficiency, performance, and advanced testing.
With the help of Mastering Go, you will become an expert Go programmer by building Go systems and implementing advanced Go techniques in your projects.
What you will learn
Learn Go data types, error handling, constants, pointers, and array and slice manipulations through practical exercises
Create generic functions, define data types, explore constraints, and grasp interfaces and reflections
Grasp advanced concepts like packages, modules, functions, and database interaction
Create concurrent RESTful servers, and build TCP/IP clients and servers
Learn testing, profiling, and efficient coding for high-performance applications
Develop an SQLite package, explore Docker integration, and embrace workspaces
Who this book is for
Mastering Go is written primarily for Go programmers who have some experience with the language and want to become expert practitioners. You will need to know the basics of computer programming before you get started with this book, but beyond that, anyone can sink their teeth into it.
Table of Contents
A Quick Introduction to Go
Basic Go Data Types
Composite Data Types
Go Generics
Reflection and Interfaces
Go Packages and Functions
Telling a UNIX System What to Do
Go Concurrency
Building Web Services
Working with TCP/IP and WebSocket
Working with REST APIs
Code Testing and Profiling
Fuzz Testing and Observability
Efficiency and Performance
Changes in Recent Go Versions
Appendix