Powerful Command-Line Applications in Go

Build Fast and Maintainable Tools

by: Ricardo Gerardi

Published 2021-12-10
Internal code rggo
Print status In Print
Pages 508
User level Beginner
Keywords Go, golang, command-line, command-line tools, scripting, Go programming, tools, extensible tools, testing, networking, Rest APIs, databases,
Related titles

Exercises for Programmers by Brian P. Hogan
Small, Sharp, Software Tools by Brian P. Hogan
Build Awesome Command-Line Applications in Ruby 2 by David Copeland

ISBN 9781680506969
Other ISBN Channel epub: 9781680509328
Channel PDF: 9781680509335
Kindle: 9781680509304
Safari: 9781680509311
Kindle: 9781680509304
BISACs COM051000 COMPUTERS / Programming / General
COM051440 COMPUTERS / Software Development & Engineering / Tools
COM051440 COMPUTERS / Software Development & Engineering / Tools

Highlight

Write your own fast, reliable, and cross-platform command-line tools with the Go programming language. Go might be the fastest—and perhaps the most fun—way to automate tasks, analyze data, parse logs, talk to network services, or address other systems requirements. Create all kinds of command-line tools that work with files, connect to services, and manage external processes, all while using tests and benchmarks to ensure your programs are fast and correct.

Description

Go is a modern programming language that combines the reliability of compiled languages with the ease of use and flexibility of dynamic typed languages. With Go, you can develop cross-platform command-line tools that are fast and reliable. Work through practical examples to develop elegant and efficient tools by applying Go’s rich standard library, its built-in support for concurrency, and its expressive syntax. Use Go’s integrated testing capabilities to automatically test your tools, ensuring they work reliably, even across code refactoring.

Develop CLI tools that interact with your users by using common input/output patterns, including environment variables and flags. Handle files to read or persist data, and manipulate paths consistently in cross-platform scenarios. Control processes and handle signals, and use a benchmark-driven approach and Go’s concurrency primitives to create tools that perform well. Use powerful external libraries such as Cobra to create modern and flexible tools that handle subcommands, and develop tools that interact with databases, APIs, and network services. Finally, leverage what you learned by tackling additional challenges at the end of each chapter.

Contents and Extracts