# Go

## The Basics

<details>

<summary>Installation</summary>

Official package [here](https://go.dev/doc/install)

</details>

<details>

<summary>CLI commands</summary>

* `go build` - Compile code and get binary
* `go run` - Compile code and run it
* `go generate` - Run code generation
* `go install` - Download utilite, compile it and install binary to $GOPATH/bin
* `go get` - Download dependencies
* `go mod init` - Download file with list of dependencies
* `go mod tidy` - Actualize file with list of dependencies
* `go mod vendor` - Install all dependencies to vendor folder
* `go test` - Run Unit tests
* `go tool cover` - Get report about cover about unit tests
* `go tool pprof` - Profile programm
* `go fmt` - Autoformat style of code
* `go vet` - Run linters
* `go env` - Output lists of environment variables uses in go
* `go help <build>` - about command

</details>
