liveBook · Manning

Go command

As explained in Learn Go with Pocket-Sized Projects

Go tooling is the integrated suite of Go development tools for formatting, linting, testing, benchmarking, building, and execution.

The go command is the practical entry point to Go’s integrated tooling. It supports compiling Go programs into executables and connects development work with testing, benchmarking, and fuzzing. section 1.2.2 section 1.3.1

Use the tooling to:

  • Run unit tests as code evolves, keeping production code covered by tests. section 1.3.1
  • Benchmark competing algorithms and compare revisions, including performance checks on each commit. section 1.3.1
  • Fuzz systems with random values to expose unexpected behavior and help check for vulnerabilities. section 1.3.1
  • Produce executables for supported platforms and operating systems; use cgo when wrapping dynamically linkable C or C++ libraries. section 1.2.2

A practical development loop

Build an application as an executable, add unit tests, use the built-in bench command to compare algorithm versions, and fuzz inputs when robustness or vulnerability checking matters. section 1.2.2 section 1.3.1

How Learn Go with Pocket-Sized Projects covers it

How deep it goes
Explains the toolchain’s roles and testing capabilities but stops short of command syntax or implementation internals.
Examples
Uses executable builds, unit tests, algorithm benchmarks, commit-level performance checks, and randomized fuzz inputs.
What you can do after
Evaluate Go implementations with tests, compare performance with the built-in bench command, and probe behavior with fuzzing.
How it connects
Connects executable builds with garbage collection, cgo, unit testing, benchmarking, fuzzing, and cross-platform compilation.

Also explained in

Compare how 2 books explain go command →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Learn Go with Pocket-Sized Projects. The section links point to the parts of the book it draws on.