
Practical Systems Programming in Go: A hands-on guide to designing and building real-world systems software in Go
Author(s): Mihalis Tsoukalos (Author)
- Publisher finelybook 出版社: Packt Publishing
- Publication Date 出版日期: March 31, 2026
- Language 语言: English
- Print length 页数: 588 pages
- ISBN-10: 1806112191
- ISBN-13: 9781806112197
Book Description
Master systems programming in Go by building real command-line tools, web services, time-series analysis applications, and concurrent networked systems that interact directly with the operating system.
Key Features
- Build real-world systems tools in Go, including CLIs, servers, and interpreters.
- Master Go systems programming concepts, such as concurrency, networking, and OS integration.
- Apply Go to data-intensive workloads, including time series analysis and data mining.
Book Description
Go has become a leading language for Systems Programming thanks to its simplicity, strong concurrency model, and excellent performance. Practical Systems Programming in Go shows how to use Go beyond application development by building software that interacts with the operating system, networks, and data at scale.
The book starts with a focused introduction to Go, covering the language features and standard packages most relevant to systems programming, including those handling concurrency, interfaces, testing, and runtime internals. It then moves into essential system-level topics such as file handling and I/O, UNIX signals, file systems, structured data formats, databases, and TCP/IP networking. Readers build practical command-line tools, web services, and network clients and servers along the way. In the final section, the book explores advanced applications, including writing an interpreter for a small programming language, processing time series data, building data-mining tools, and creating efficient indexes for UNIX file systems.
By the end, readers will be able to design and implement robust systems software in Go for real-world environments.
What you will learn
- Create command-line utilities using Go
- Work with files, directories, and UNIX signals
- Build TCP/IP clients and servers in Go
- Write concurrent programs using goroutines and channels
- Develop web services and networked applications
- Implement interpreters for custom programming languages
- Process and analyze time series data
- Understand Go internals and system-level performance
Who this book is for
This book is for intermediate Go developers who want to build low-level and performance-oriented software. It is ideal for backend engineers, DevOps practitioners, and system programmers interested in writing command-line tools, network services, and concurrent applications that interact closely with UNIX-like operating systems.
Table of Contents
- Essential Go
- Data Collections and Functions
- Go Concurrency
- Advanced Go
- Working with File I/O
- UNIX Signals and File Systems
- Working with Structured Data and Databases
- Programming TCP/IP Services
- Creating Web Services
- Writing a Programming Language
- Adding New Features to SMALL
- Time Series Distances
- Time Series Data Mining
- Creating an Index for Unix Files
Editorial Reviews
Editorial Reviews
About the Author
Mihalis Tsoukalos holds a BSc in Mathematics from the University of Patras and an MSc in IT from University College London (UCL). His previous books, Go Systems Programming and Mastering Go, have become must-reads for UNIX and Linux systems professionals. He works as a UNIX systems engineer and a technical author. 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 data mining, time series indexing and databases.
finelybook
