Catalogue des Commandes 14/01/2026 16:00:00 angularforall.com

- Commandes Go (Golang) : guide CLI complet

Go Golang Langage-Compile Backend Cli Performance Concurrence Goroutines Developpement Devops Go-Modules Go-Test Microservices Channels

Apprenez toutes les commandes Go pour développer des applications performantes : guide complet incluant compilation, testing et déploiement en production.

go version
Description :

Affiche la version de Go installée

Options :
  • -m
  • -v
go env
Description :

Affiche les variables d'environnement Go

Options :
  • -json
  • -u
  • -w
go env GOPATH
Description :

Affiche la valeur de GOPATH

go env GOROOT
Description :

Affiche la valeur de GOROOT

go help
Description :

Affiche l'aide générale de Go

go help <commande>
Description :

Affiche l'aide d'une commande spécifique

go mod init
Description :

Initialise un nouveau module Go (crée go.mod)

Options :
  • module-path
go mod init github.com/user/project
Description :

Initialise un module avec un chemin spécifique

go mod tidy
Description :

Nettoie et met à jour go.mod (ajoute les dépendances manquantes, supprime les inutilisées)

Options :
  • -v
  • -e
  • -go
  • -compat
go mod download
Description :

Télécharge les dépendances dans le cache local

Options :
  • -x
  • -json
go mod vendor
Description :

Copie les dépendances dans le dossier vendor/

Options :
  • -v
  • -e
go mod verify
Description :

Vérifie l'intégrité des dépendances téléchargées

go mod why
Description :

Explique pourquoi un module est nécessaire

Options :
  • -m
  • -vendor
go mod graph
Description :

Affiche le graphe des dépendances

go mod edit
Description :

Édite go.mod via ligne de commande

Options :
  • -module
  • -require ⚠️
  • -droprequire
  • -exclude
  • -dropexclude
  • -replace ⚠️
  • -dropreplace
  • -retract ⚠️
  • -go
  • -print
  • -fmt ⚠️
  • -json
go mod edit -replace=old@v1.0.0=new@v1.1.0
Description :

Remplace une dépendance par une autre

Options :
  • -replace ⚠️
go mod edit -require=github.com/gin-gonic/gin@v1.9.0
Description :

Ajoute une dépendance à go.mod

Options :
  • -require ⚠️
go get
Description :

Ajoute une dépendance au module courant

Options :
  • -u
  • -t
  • -d
  • -v
  • -x
  • -insecure
go get github.com/gin-gonic/gin
Description :

Ajoute la dépendance Gin

Options :
  • @version
  • -u
go get github.com/gin-gonic/gin@v1.9.0
Description :

Ajoute une version spécifique de Gin

Options :
  • @latest
  • @master
go get -u ./...
Description :

Met à jour toutes les dépendances

Options :
  • -u
  • -t
go get -u github.com/gin-gonic/gin
Description :

Met à jour une dépendance spécifique

Options :
  • -u
go get -d ./...
Description :

Télécharge les dépendances sans les installer

Options :
  • -d
go install
Description :

Compile et installe un package

Options :
  • -v
  • -x
  • -race ⚠️
  • -ldflags
  • -tags
  • -trimpath
  • -buildmode
go install ./...
Description :

Installe tous les packages du module

go install github.com/air-verse/air@latest
Description :

Installe un outil Go (air pour hot reload)

Options :
  • @latest
  • @version
go build
Description :

Compile le package courant

Options :
  • -o
  • -v
  • -x
  • -race ⚠️
  • -ldflags
  • -tags
  • -trimpath
  • -buildmode
  • -mod
  • -p
  • -work
  • -a
  • -n
  • -gcflags
  • -asmflags
  • -compiler
  • -installsuffix
go build -o monapp
Description :

Compile avec un nom de sortie personnalisé

Options :
  • -o
go build -o monapp ./cmd/api
Description :

Compile un package spécifique

Options :
  • -o
go build -v ./...
Description :

Compile tous les packages avec logs verbeux

Options :
  • -v
go build -race
Description :

Compile avec détection de race conditions

Options :
  • -race ⚠️
go build -ldflags="-s -w"
Description :

Compile en supprimant les symboles de debug (binaire plus petit)

Options :
  • -ldflags
go build -ldflags="-X main.version=1.0.0"
Description :

Injection de variables lors de la compilation

Options :
  • -ldflags
go build -tags prod
Description :

Compile avec des tags de build conditionnels

Options :
  • -tags
go build -trimpath
Description :

Supprime les chemins absolus du binaire (build reproductible)

Options :
  • -trimpath
GOOS=linux GOARCH=amd64 go build
Description :

Cross-compilation pour Linux 64-bit

GOOS=windows GOARCH=amd64 go build -o monapp.exe
Description :

Cross-compilation pour Windows 64-bit

Options :
  • -o
GOOS=darwin GOARCH=arm64 go build
Description :

Cross-compilation pour macOS Apple Silicon

go run
Description :

Compile et exécute un programme Go

Options :
  • -race ⚠️
  • -tags
  • -ldflags
  • -exec
go run main.go
Description :

Exécute le fichier main.go

go run ./cmd/api
Description :

Exécute le package api

go run -race main.go
Description :

Exécute avec détection de race conditions

Options :
  • -race ⚠️
go test
Description :

Lance les tests du package courant

Options :
  • -v
  • -race ⚠️
  • -cover
  • -coverprofile
  • -bench
  • -benchmem
  • -timeout
  • -short
  • -run ⚠️
  • -count
  • -parallel
  • -cpu
  • -list
  • -json
  • -failfast ⚠️
  • -shuffle
go test ./...
Description :

Lance tous les tests du module

Options :
  • -v
  • -race ⚠️
  • -cover
go test -v
Description :

Lance les tests en mode verbeux

Options :
  • -v
go test -race
Description :

Lance les tests avec détection de race conditions

Options :
  • -race ⚠️
go test -cover
Description :

Affiche le pourcentage de couverture de code

Options :
  • -cover
go test -coverprofile=coverage.out
Description :

Génère un fichier de profil de couverture

Options :
  • -coverprofile
go tool cover -html=coverage.out
Description :

Affiche la couverture dans le navigateur

Options :
  • -html
  • -func ⚠️
go tool cover -func=coverage.out
Description :

Affiche la couverture par fonction

Options :
  • -func ⚠️
go test -run TestNom
Description :

Lance un test spécifique par nom

Options :
  • -run ⚠️
go test -run TestUser/Create
Description :

Lance un sous-test spécifique

Options :
  • -run ⚠️
go test -bench=.
Description :

Lance tous les benchmarks

Options :
  • -bench
  • -benchmem
  • -benchtime
  • -count
go test -bench=BenchmarkNom -benchmem
Description :

Lance un benchmark spécifique avec mémoire

Options :
  • -bench
  • -benchmem
go test -timeout 30s
Description :

Définit un timeout pour les tests

Options :
  • -timeout
go test -short
Description :

Ignore les tests longs

Options :
  • -short
go test -count=1
Description :

Désactive le cache des tests

Options :
  • -count
go test -shuffle=on
Description :

Exécute les tests dans un ordre aléatoire

Options :
  • -shuffle
go test -json > report.json
Description :

Génère un rapport au format JSON

Options :
  • -json
go fmt
Description :

Formate le code source Go

Options :
  • -n
  • -x
  • -mod
go fmt ./...
Description :

Formate tous les fichiers du module

go vet
Description :

Analyse statique du code pour détecter des erreurs

Options :
  • -all
  • -asmdecl
  • -assign
  • -atomic
  • -bool
  • -buildtag
  • -cgocall
  • -composites
  • -copylocks
  • -httpresponse
  • -loopclosure
  • -lostcancel
  • -nilfunc
  • -printf
  • -shift
  • -stdmethods
  • -structtag
  • -tests
  • -unmarshal
  • -unreachable
  • -unsafeptr
  • -unusedresult
go vet ./...
Description :

Analyse tous les packages du module

go clean
Description :

Nettoie les fichiers de build

Options :
  • -i
  • -r ⚠️
  • -n
  • -x
  • -cache
  • -testcache
  • -modcache
  • -fuzzcache ⚠️
go clean -cache
Description :

Nettoie le cache de build Go

Options :
  • -cache
go clean -testcache
Description :

Nettoie le cache des tests

Options :
  • -testcache
go clean -modcache
Description :

Nettoie le cache des modules (dépendances)

Options :
  • -modcache
go doc
Description :

Affiche la documentation d'un package

Options :
  • -all
  • -c
  • -cmd
  • -short
  • -src
  • -u
go doc fmt
Description :

Affiche la documentation du package fmt

Options :
  • -all
  • -src
go doc fmt.Println
Description :

Affiche la documentation de la fonction Println

go list
Description :

Liste les packages

Options :
  • -f ⚠️
  • -json
  • -m
  • -u
  • -versions
  • -deps
  • -test
  • -e
  • -find ⚠️
  • -export
go list ./...
Description :

Liste tous les packages du module

go list -m all
Description :

Liste tous les modules dépendants

Options :
  • -m
go list -m -u all
Description :

Liste les modules avec mises à jour disponibles

Options :
  • -m
  • -u
go list -m -versions github.com/gin-gonic/gin
Description :

Liste les versions disponibles d'un module

Options :
  • -m
  • -versions
go list -json
Description :

Affiche les informations en JSON

Options :
  • -json
go work init
Description :

Initialise un workspace Go (go.work)

Options :
  • module1
  • module2
go work use
Description :

Ajoute un module au workspace

Options :
  • -r ⚠️
  • ./dir
go work use ./module1 ./module2
Description :

Ajoute plusieurs modules au workspace

go work sync
Description :

Synchronise le workspace avec go.mod

go work edit
Description :

Édite go.work via ligne de commande

Options :
  • -fmt ⚠️
  • -use
  • -dropuse
  • -replace ⚠️
  • -dropreplace
  • -go
go generate
Description :

Exécute les directives //go:generate

Options :
  • -n
  • -x
  • -v
  • -run ⚠️
go generate ./...
Description :

Exécute les générateurs pour tous les packages

go tool
Description :

Exécute un outil Go

Options :
  • -n
go tool compile
Description :

Compile un fichier Go (bas niveau)

Options :
  • -o
  • -I
  • -D
  • -S
  • -V
go tool pprof
Description :

Analyse les profils de performance

Options :
  • -http
  • -web
  • -text
  • -tree
  • -peek
  • -list
  • -disasm
  • -callgrind
  • -dot
  • -svg
  • -png
go tool pprof -http=:8080 profile.out
Description :

Lance l'interface web pprof

Options :
  • -http
go tool trace trace.out
Description :

Analyse une trace d'exécution

Options :
  • -http
go tool objdump
Description :

Désassemble un fichier objet

Options :
  • -s
  • -S
go tool nm
Description :

Liste les symboles d'un fichier objet

Options :
  • -size
  • -sort
  • -type
go test -fuzz=FuzzNom
Description :

Lance le fuzzing sur une fonction

Options :
  • -fuzz ⚠️
  • -fuzztime ⚠️
  • -fuzzminimizetime ⚠️
go test -fuzz=FuzzNom -fuzztime=30s
Description :

Lance le fuzzing pendant 30 secondes

Options :
  • -fuzz ⚠️
  • -fuzztime ⚠️
go test -bench=. -benchmem -cpuprofile=cpu.out -memprofile=mem.out
Description :

Génère des profils CPU et mémoire

Options :
  • -cpuprofile
  • -memprofile
  • -blockprofile
  • -mutexprofile
gofmt -w .
Description :

Formate tous les fichiers Go (commande alternative)

Options :
  • -w
  • -l
  • -d
  • -s
  • -r ⚠️
goimports -w .
Description :

Formate et organise les imports

Options :
  • -w
  • -l
  • -local
go install golang.org/x/tools/cmd/goimports@latest
Description :

Installe goimports

Options :
  • @latest
golint ./...
Description :

Linter Go (déprécié, utiliser staticcheck)

Options :
  • -set_exit_status
  • -min_confidence
staticcheck ./...
Description :

Analyse statique avancée avec staticcheck

Options :
  • -checks
  • -fail ⚠️
  • -explain
  • -show-ignored
  • -tags
  • -test
go install honnef.co/go/tools/cmd/staticcheck@latest
Description :

Installe staticcheck

Options :
  • @latest
golangci-lint run
Description :

Lance golangci-lint (agrège plusieurs linters)

Options :
  • --enable
  • --disable
  • --fast ⚠️
  • --fix ⚠️
  • --config
  • --tests
  • --skip-dirs
  • --timeout
  • --out-format ⚠️
  • --new
  • --new-from-rev ⚠️
  • --issues-exit-code
  • --max-issues-per-linter
  • --max-same-issues
golangci-lint run --enable-all
Description :

Active tous les linters

Options :
  • --enable-all
golangci-lint run --fix
Description :

Corrige automatiquement les problèmes

Options :
  • --fix ⚠️
air
Description :

Lance le hot reload avec Air

Options :
  • -c
  • --build.cmd
  • --build.bin
  • --build.delay
  • --build.exclude_dir
  • --build.include_ext
  • --log.level
air init
Description :

Génère un fichier de configuration .air.toml

go install github.com/air-verse/air@latest
Description :

Installe Air

Options :
  • @latest
go run github.com/swaggo/swag/cmd/swag@latest init
Description :

Génère la documentation Swagger (Swaggo)

Options :
  • -g
  • --generalInfo
  • -d
  • --dir
  • -o
  • --output
  • --parseDependency
  • --parseInternal
  • --parseDepth
  • --instanceName
  • --overridesFile
  • --parseGoList
swag init
Description :

Génère la documentation Swagger (si swag est installé)

Options :
  • -g
  • -d
  • -o
  • --pd
  • --pi
  • --pdl
  • --ot
go install github.com/swaggo/swag/cmd/swag@latest
Description :

Installe Swag CLI

Options :
  • @latest
mockgen -source=interface.go -destination=mocks/mock.go
Description :

Génère des mocks avec mockgen (gomock)

Options :
  • -source
  • -destination
  • -package
  • -aux_files
  • -build_flags
  • -copyright_file
  • -debug_parser
  • -imports
  • -mock_names
  • -self_package
  • -write_package_comment
go install github.com/golang/mock/mockgen@latest
Description :

Installe mockgen

Options :
  • @latest
go test -coverprofile=coverage.out && go tool cover -html=coverage.out -o coverage.html
Description :

Génère un rapport HTML de couverture

go run github.com/onsi/ginkgo/v2/ginkgo
Description :

Lance les tests avec Ginkgo (BDD)

Options :
  • -r ⚠️
  • --randomize-all ⚠️
  • --randomize-suites ⚠️
  • --keep-going
  • --until-it-fails ⚠️
  • --repeat ⚠️
  • --flake-attempts ⚠️
  • --trace
  • --no-color
  • -v
  • --slow-spec-threshold
  • --dry-run ⚠️
  • --label-filter ⚠️
  • --focus ⚠️
  • --skip
  • --timeout
  • --output-interceptor-mode
ginkgo bootstrap
Description :

Initialise Ginkgo dans le projet

ginkgo generate
Description :

Génère un fichier de test Ginkgo

Options :
  • -template
go run github.com/go-task/task/v3/cmd/task
Description :

Exécute un Taskfile (alternative à Make)

Options :
  • -l
  • --list
  • -a
  • --list-all
  • -s
  • --summary
  • -t
  • --taskfile
  • -d
  • --dir
  • -c
  • --concurrency
  • -p
  • --parallel
  • -f ⚠️
  • --force ⚠️
  • -w
  • --watch
  • -v
  • --verbose
  • --dry-run ⚠️
  • --exit-code
  • --silent
  • --output
go install github.com/go-task/task/v3/cmd/task@latest
Description :

Installe Task

Options :
  • @latest
go test -ldflags="-X github.com/user/project/version.Version=1.0.0"
Description :

Injecte une variable lors des tests

Options :
  • -ldflags
go build -buildmode=plugin
Description :

Compile en plugin Go (Linux/macOS)

Options :
  • -buildmode
go build -buildmode=c-shared
Description :

Compile en bibliothèque partagée C

Options :
  • -buildmode
go build -buildmode=c-archive
Description :

Compile en archive C

Options :
  • -buildmode
go env -w GOPROXY=https://proxy.golang.org,direct
Description :

Configure le proxy Go

Options :
  • -w
go env -w GOPRIVATE=github.com/monentreprise/*
Description :

Configure les modules privés

Options :
  • -w
go env -w GOSUMDB=off
Description :

Désactive la vérification de somme (non recommandé)

Options :
  • -w
go env -w CGO_ENABLED=0
Description :

Désactive CGO (build statique)

Options :
  • -w
go mod why -m github.com/gin-gonic/gin
Description :

Explique pourquoi un module est utilisé

Options :
  • -m
go mod edit -go=1.21
Description :

Change la version Go dans go.mod

Options :
  • -go
go mod edit -module=new/module/path
Description :

Change le chemin du module

Options :
  • -module
go mod edit -retract=v1.0.0
Description :

Rétracte une version du module

Options :
  • -retract ⚠️
go mod edit -exclude=github.com/buggy/module@v1.2.3
Description :

Exclut une version spécifique

Options :
  • -exclude
go mod edit -dropreplace=github.com/old/module
Description :

Supprime une directive replace

Options :
  • -dropreplace
go mod download -json
Description :

Télécharge les modules avec sortie JSON

Options :
  • -json
go list -m -json all
Description :

Affiche tous les modules en JSON

Options :
  • -m
  • -json
go version -m monapp
Description :

Affiche les informations de build intégrées

Options :
  • -m
go build -ldflags="-X main.buildTime=$(date -u +%Y-%m-%dT%H:%M:%SZ)"
Description :

Injecte la date de build

Options :
  • -ldflags
go build -ldflags="-X main.gitCommit=$(git rev-parse HEAD)"
Description :

Injecte le hash Git

Options :
  • -ldflags
go test -c
Description :

Compile le binaire de test sans l'exécuter

Options :
  • -c
  • -o
go test -o test.binary -c
Description :

Compile le binaire de test avec nom personnalisé

Options :
  • -o
  • -c
go test -exec=wine -v ./...
Description :

Exécute les tests avec un émulateur (ex: Wine)

Options :
  • -exec
go test -vet=off
Description :

Désactive go vet pendant les tests

Options :
  • -vet
go test -parallel=4
Description :

Exécute jusqu'à 4 tests en parallèle

Options :
  • -parallel
go test -failfast
Description :

Arrête les tests au premier échec

Options :
  • -failfast ⚠️
go test -args -custom-flag=value
Description :

Passe des arguments personnalisés aux tests

Options :
  • -args
go get -t -u ./...
Description :

Met à jour toutes les dépendances, y compris celles de test

Options :
  • -t
  • -u
go mod vendor -v
Description :

Vendore les dépendances avec logs

Options :
  • -v
go work edit -go=1.21
Description :

Change la version Go dans go.work

Options :
  • -go
go work edit -dropuse=./module1
Description :

Retire un module du workspace

Options :
  • -dropuse
go work edit -replace=old@v1.0.0=new@v1.1.0
Description :

Ajoute un replace dans le workspace

Options :
  • -replace ⚠️
go work use -r ./...
Description :

Ajoute récursivement tous les modules

Options :
  • -r ⚠️
go work sync -v
Description :

Synchronise le workspace avec logs

Options :
  • -v
go doc -all
Description :

Affiche toute la documentation d'un package

Options :
  • -all

Partager