Go
vx provides full support for the Go programming language.
Installation
bash
vx install go 1.21
vx install `go@latestVersion Specifiers
bash
go 1.21 # Latest 1.21.x
go 1.21.5 # Exact version
go latest # Latest stableUsage
Basic Commands
bash
vx go version
vx go env
vx go helpBuilding
bash
vx go build
vx go build -o myapp
vx go build -ldflags "-s -w" -o myappRunning
bash
vx go run main.go
vx go run .Testing
bash
vx go test ./...
vx go test -v ./...
vx go test -cover ./...Module Management
bash
vx go mod init mymodule
vx go mod tidy
vx go mod download
vx go get github.com/gin-gonic/ginInstalling Tools
bash
vx go install golang.org/x/tools/gopls@latest
vx go install github.com/golangci/golangci-lint/cmd/golangci-lint@latestProject Configuration
toml
[tools]
go = "1.21"
[scripts]
build = "go build -o app"
test = "go test ./..."
lint = "golangci-lint run"
run = "go run ."Common Workflows
New Go Project
bash
mkdir my-project
cd my-project
vx go mod init github.com/user/my-projectWeb Server with Gin
bash
vx go mod init myserver
vx go get github.com/gin-gonic/gin
# Create main.go
vx go run .CLI Tool with Cobra
bash
vx go mod init mycli
vx go get github.com/spf13/cobra
# Create main.go
vx go build -o mycliCross-Compilation
bash
# Linux
GOOS=linux GOARCH=amd64 vx go build -o app-linux
# Windows
GOOS=windows GOARCH=amd64 vx go build -o app.exe
# macOS
GOOS=darwin GOARCH=amd64 vx go build -o app-macEnvironment Variables
Go-specific environment variables work as expected:
bash
GOPROXY=direct vx go get github.com/user/repo
CGO_ENABLED=0 vx go build -o appTips
- Use go mod tidy: Keep dependencies clean
- Pin Go version: Ensure team uses same version
- Use golangci-lint: Comprehensive linting