Display help for package "fmt"

$ godoc [fmt]

Display help for the function "Printf" of "fmt" package
$ godoc [fmt] [Printf]

Serve documentation as a web server on port 6060
$ godoc -http=:[6060]

Create an index file
$ godoc -write_index -index_files=[path/to/file]

Use the given index file to search the docs
$ godoc -http=:[6060] -index -index_files=[path/to/file]


godoc [flag]


Godoc extracts and generates documentation for Go programs.

It runs as a web server and presents the documentation as a web page.

godoc -http=:6060



verbose mode


show timestamps with directory listings


enable identifier and full text search index (no search box is shown if -index is not set)


glob pattern specifying index files; if not empty, the index is read from these files in sorted order


index throttle value; a value of 0 means no time is allocated to the indexer (the indexer will never finish), a value of 1.0 means that index creation is running at full throttle (other goroutines may get no time while the index is built)


interval of indexing; a value of 0 sets it to 5 minutes, a negative value indexes only once at startup


enable playground


link identifiers to their declarations


write index to a file; the file name must be specified with -index_files


maximum number of full text search results shown (no full text index is built if maxresults <= 0)


regular expression matching note markers to show (e.g., "BUG|TODO", ".*")


Go root directory


HTTP service address (e.g., '' or just ':6060')


comma-separated list of analyses to perform
"type": display identifier resolution, type info, method sets, 'implements', and static callees
"pointer": display channel peers, callers and dynamic callees (significantly slower)
See for details.


directory containing alternate template files; if set, the directory may provide alternative template files for the files in $GOROOT/lib/godoc


print to standard output the data that would be served by an HTTP request for path


zip file providing the file system to serve; disabled if empty


By default, godoc looks at the packages it finds via $GOROOT and $GOPATH (if set).

When the -index flag is set, a search index is maintained. The index is created at startup.

The index contains both identifier and full text search information (searchable via regular expressions). The maximum number of full text search results shown can be set with the -maxresults flag; if set to 0, no full text results are shown, and only an identifier index but no full text search index is created.

By default, godoc uses the system's GOOS/GOARCH. You can provide the URL parameters "GOOS" and "GOARCH" to set the output on the web page for the target system.

The presentation mode of web pages served by godoc can be controlled with the "m" URL parameter; it accepts a comma-separated list of flag names as value:


show documentation for all declarations, not just the exported ones


show all embedded methods, not just those of unexported anonymous fields


show the original source code rather then the extracted documentation


present the page in textual (command-line) form rather than HTML


present flat (not indented) directory listings using full paths

For instance,,text shows the documentation for all (not just the exported) declarations of package big, in textual form (as it would appear when using godoc from the command line: "godoc -src math/big .*").

By default, godoc serves files from the file system of the underlying OS. Instead, a .zip file may be provided via the -zip flag, which contains the file system to serve. The file paths stored in the .zip file must use slash ('/') as path separator; and they must be unrooted. $GOROOT (or -goroot) must be set to the .zip file directory path containing the Go root directory. For instance, for a .zip file created by the command:

zip $HOME/go

one may run godoc as follows:

godoc -http=:6060 -goroot=$HOME/go

Godoc documentation is converted to HTML or to text using the go/doc package; see for the exact rules. Godoc also shows example code that is runnable by the testing package; see for the conventions. See "Godoc: documenting Go code" for how to write good comments for godoc:


This manual page was written by Michael Stapelberg <>, for the Debian project (and may be used by others).

Copied to clipboard