mirror of
https://github.com/golang/go
synced 2024-11-22 00:14:42 -07:00
8d5b324afc
Fixes #3400. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5926043
104 lines
3.0 KiB
HTML
104 lines
3.0 KiB
HTML
<!--{
|
|
"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, two of the commands, <code>fmt</code> and <code>doc</code>, are also
|
|
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="/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/">doc</a></td>
|
|
<td> </td>
|
|
<td>Doc extracts and generates documentation for Go packages, it is also available as
|
|
an independent <a href="/cmd/godoc/">godoc</a> command with more general options.</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="/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>
|