Mastering Go – Fourth Edition: Leverage Go’s expertise for advanced utilities, empowering you to develop professional software
- Length: 736 pages
- Edition: 4
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2024-03-29
- ISBN-10: 1805127144
- ISBN-13: 9781805127147
- Sales Rank: #0 (See Top 100 Books)
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 JavaScript 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