# Go Docs

I’ve been working on a simple package github.com/hoani/getset lately, and I wanted to make sure I had some nice documentation alongside the package.

## Installing godoc

Install the latest godoc:

go install golang.org/x/tools/cmd/godoc@latest


You can run godoc with:

godoc -http :8080


If you navigate through the index, you should be able to find you package, mine was here:

## Some godoc tips and tricks

See godoctricks for many other tips and tricks.

Comment above the package name to add overview documentation:

// A lightweight set implementation.
//
// Requires go 1.18 or higher.
package getset


Comment above public functions and types to add documentation for them. For example:

// Has checks if an item is included in the set.
func (s Set[T]) Has(item T) bool {


### Examples

I place examples in a file called examples_test.go under a <packagename>_test package.

The following examples will show up in the overview:

func Example() { // the first example
//...
}

func Example_extra() { // will be called Example (extra)
//...
}


If you have a function called New, add an example to the New section as follows:

func ExampleNew() {
//...
}


If you have a type called MyType, add an example for MyType as follows:

func ExampleMyType() {
//...
}


If MyType has a method DoSomething, add an example for DoSomething as follows:

func ExampleMyType_DoSomething(){
//...
}


## Update the go indexes

git tag v0.1.0
git push origin v0.1.0
GOPROXY=proxy.golang.org go list -m <repo>@v0.1.0


If your repo is public, it should appear on https://pkg.go.dev/<repo>

Categories:

Updated: