Documentation Commands

  • go version - Prints the Go version information.
  • go doc -all strings.Replace - Prints all documentation, including private declarations.
  • go doc -cmd go - Prints documentation for Go commands.
  • go doc -src fmt.Println - Prints the source code for a package or symbol.
  • go doc -u - Updates the local copy of the documentation.
  • godoc -http=:8080 - Starts a web server to browse the documentation.

Module Commands

  • go mod init example.com/mymodule - Initializes a new module in the current directory.
  • go mod tidy - Adds missing and removes unused dependencies.
  • go mod download - Downloads the dependencies defined in go.mod.
  • go mod vendor - Copies the dependencies into the vendor directory.
  • go mod verify - Verifies that the dependencies are correctly downloaded and unmodified.
  • go mod graph - Prints the module dependency graph.
  • go mod why github.com/pkg/errors - Explains why a module is needed.
  • go mod edit - Opens the go.mod file in an editor.
  • go mod replace github.com/pkg/errors@v1.2.3 => github.com/myuser/errors@v0.0.1 - Replaces a module with another module.
  • go mod clean - Removes unused dependencies.

Build and Run Commands

  • go vet ./... - Examines Go source code and reports any suspicious constructs.
  • go build main.go - Compiles the packages and dependencies in the current directory and generates an executable file.
  • go build ./... - Compiles the packages and dependencies in the current directory, all packages recursing down and generates an executable file.
  • go build -o myprogram main.go - Compiles the packages and dependencies and generates a named executable file.
  • go build -race main.go - Compiles the packages and dependencies with race condition detection enabled.
  • go build -ldflags "-s -w" main.go - Adds custom flags to the linker.
  • go run main.go - Compiles and executes the code in a single step.
  • go run -race main.go - Runs the code with race condition detection enabled.
  • go install example.com/hello - Compiles and installs the packages and dependencies.
  • go clean - Removes object files and cached files.

Test Commands

  • go test ./... - Runs all the tests associated with the current package.
  • go test -v ./... - Runs all the tests with verbose output.
  • go test -cover ./... - Reports the code coverage of the tests.
  • go test -run TestMyFunction - Runs tests that match the regular expression.
  • go test -timeout 30s ./... - Sets a timeout for the tests.
  • go test -short ./... - Skips long-running tests.
  • go test -count=5 ./... - Runs the tests multiple times.

Release Commands

Note: GOOS specifies the target operating system (e.g., linux, windows, darwin for macOS), and GOARCH specifies the target architecture (e.g., amd64, arm64, 386).

  • go tool dist list - Lists all available target platforms.
  • GOOS=linux GOARCH=amd64 go build main.go - Builds for a specific operating system and architecture.
  • GOOS=windows GOARCH=amd64 go build main.go - Builds for a specific operating system and architecture.
  • GOOS=darwin GOARCH=amd64 go build main.go - Builds for a specific operating system and architecture.

Help Commands

  • go help - Displays a list of available commands or provides help for a specific command.
  • go help <command> - Provides detailed help information for a specific command.
  • go help modules - Provides information about using modules to manage dependencies.
  • go help gopath - Provides information about the GOPATH environment variable.
  • go help environment - Provides information about Go environment variables.
  • go help packages - Provides information about Go packages and their organization.
  • go help testflag - Provides information about the flags that are recognized by the Go testing package.
  • go help buildmode - Provides information about the available build modes.
  • go help c - Provides information about how to invoke the C compiler.

Please visit The Go commands official documentation

Thanks for reading!