Go: Package documentation
The GoDoc website hosts documentation for Go packages on Bitbucket, GitHub, Google Project Hosting and Launchpad:
Godoc command
The godoc command extracts and generates documentation for all locally installed Go programs, both your own code and the standard libraries.
The command
$ godoc -http=:6060 &
starts a web server that presents the documentation at http://localhost:6060/
:
The documentation is tightly coupled with the code. For example, you can navigate from a function's documentation to its implementation with a single click.
Without the -http
flag, godoc
prints plain text documentation to standard output:
$ godoc fmt Println func Println(a ...interface{}) (n int, err error) Println formats using the default formats for its operands and writes to standard output. Spaces are always added between operands and a newline is appended. It returns the number of bytes written and any write error encountered.
Create documentation
To document a function, type, constant, variable, or even a complete package, write a regular comment directly preceding its declaration, with no blank line in between. For example, this is the documentation for the fmt.Println
function:
// Println formats using the default formats for its operands and writes to standard output. // Spaces are always added between operands and a newline is appended. // It returns the number of bytes written and any write error encountered. func Println(a ...interface{}) (n int, err error) { …
For best practices on how to document Go code, see Effective Go: Commentary.
Godoc examples
You can add example code snippets to the package documentation; this code is verified by running it as a test. For more information on how to create such testable examples, see The Go Blog: Testable Examples in Go.