| <!--{ |
| "Title": "Command Documentation", |
| "Path": "/doc/cmd" |
| }--> |
| |
| <p> |
| There is a suite of programs to build and process Go source code. |
| Instead of being run directly, programs in the suite are usually invoked |
| by the <a href="/cmd/go/">go</a> program. |
| </p> |
| |
| <p> |
| The most common way to run these programs is as a subcommand of the go program, |
| for instance as <code>go fmt</code>. Run like this, the command operates on |
| complete packages of Go source code, with the go program invoking the |
| underlying binary with arguments appropriate to package-level processing. |
| </p> |
| |
| <p> |
| The programs can also be run as stand-alone binaries, with unmodified arguments, |
| using the go <code>tool</code> subcommand, such as <code>go tool vet</code>. |
| This style of invocation allows, for instance, checking a single source file |
| rather than an entire package: <code>go tool vet myprogram.go</code> as |
| compared to <code>go vet mypackage</code>. |
| Some of the commands, such as <code>yacc</code>, are accessible only through |
| the go <code>tool</code> subcommand. |
| </p> |
| |
| <p> |
| Finally the <code>fmt</code> and <code>godoc</code> commands are installed |
| as regular binaries called <code>gofmt</code> and <code>godoc</code> because |
| they are so often referenced. |
| </p> |
| |
| <p> |
| Click on the links for more documentation, invocation methods, and usage details. |
| </p> |
| |
| <table class="dir"> |
| <tr> |
| <th>Name</th> |
| <th> </th> |
| <th>Synopsis</th> |
| </tr> |
| |
| <tr> |
| <td><a href="/cmd/go/">go</a></td> |
| <td> </td> |
| <td> |
| The <code>go</code> program manages Go source code and runs the other |
| commands listed here. |
| See the command docs for usage |
| details. |
| <br><br> |
| </td> |
| </tr> |
| |
| <tr> |
| <td><a href="/cmd/cgo/">cgo</a></td> |
| <td> </td> |
| <td>Cgo enables the creation of Go packages that call C code.</td> |
| </tr> |
| |
| <tr> |
| <td><a href="//godoc.org/code.google.com/p/go.tools/cmd/cover/">cover</a></td> |
| <td> </td> |
| <td>Cover is a program for creating and analyzing the coverage profiles |
| generated by <code>"go test -coverprofile"</code>. |
| </tr> |
| |
| <tr> |
| <td><a href="/cmd/fix/">fix</a></td> |
| <td> </td> |
| <td>Fix finds Go programs that use old features of the language and libraries |
| and rewrites them to use newer ones.</td> |
| </tr> |
| |
| <tr> |
| <td><a href="/cmd/go/">fmt</a></td> |
| <td> </td> |
| <td>Fmt formats Go packages, it is also available as an independent <a href="/cmd/gofmt/"> |
| gofmt</a> command with more general options.</td> |
| </tr> |
| |
| <tr> |
| <td><a href="//godoc.org/code.google.com/p/go.tools/cmd/godoc/">godoc</a></td> |
| <td> </td> |
| <td>Godoc extracts and generates documentation for Go packages.</td> |
| </tr> |
| |
| <tr> |
| <td><a href="//godoc.org/code.google.com/p/go.tools/cmd/vet/">vet</a></td> |
| <td> </td> |
| <td>Vet examines Go source code and reports suspicious constructs, such as Printf |
| calls whose arguments do not align with the format string.</td> |
| </tr> |
| |
| <tr> |
| <td><a href="/cmd/yacc/">yacc</a></td> |
| <td> </td> |
| <td>Yacc is a version of yacc that generates parsers implemented in Go.</td> |
| </tr> |
| |
| </table> |
| |
| <p> |
| This is an abridged list. See the <a href="/cmd/">full command reference</a> |
| for documentation of the compilers and more. |
| </p> |