Conceptos básicos de la cadena de herramientas de Go
10 ejemplos para empezar con la cadena de herramientas de Go: 7 básicos y 3 intermedios.
Busca en todas las páginas de la documentación
10 ejemplos para empezar con la cadena de herramientas de Go: 7 básicos y 3 intermedios.
mkdir tooldemo && cd tooldemo && go mod init example.com/tooldemo.Confirma qué versión de Go está activa antes de depurar diferencias en la compilación.
go versiongo env GOVERSION imprime solo la cadena de versión para scripts.Relacionado: El comando go: Ciclo de vida de compilación, pruebas y módulos - cómo encaja el controlador
Compila el paquete actual sin instalarlo globalmente.
go build -o bin/server ./cmd/servergo build sin -o nombra el binario con el nombre del directorio (server para cmd/server).$?.-trimpath en los pipelines de lanzamiento para eliminar las rutas de archivo de los binarios.Relacionado: go build, run, install & clean - flags y comportamiento de la caché
Compila en un binario temporal y ejecútalo en un solo paso.
go run .--: go run . --port 8080.go run ./cmd/worker apunta a un paquete main específico.Relacionado: go build, run, install & clean - cuándo preferir
buildsobrerun
Ejecuta las pruebas en el directorio actual.
go test -v .-v imprime el nombre de cada prueba a medida que se ejecuta.*_test.go junto al código de producción.Relacionado: go test, list & generate - patrones, carreras y benchmarks
Ejercita todo el árbol de módulos.
go test ./..../... se expande a cada paquete bajo la raíz del módulo.-count=1 para deshabilitar la caché de resultados de pruebas al depurar fallos intermitentes.-race en CI para la detección de carreras de datos.Relacionado: go test, list & generate -
-race,-cover, y benchmarks
go mod init crea el archivo raíz del módulo.
go mod init example.com/tooldemo
cat go.modgo 1.26 en go.mod declara la versión mínima del lenguaje.go.mod por raíz de módulo; los subpaquetes lo comparten.Relacionado: go mod tidy, vendor, download & graph - mantener los requisitos precisos
Sincroniza go.mod con las importaciones reales.
go mod tidyrequire faltantes y elimina módulos no utilizados.go.sum para cada módulo retenido.Relacionado: go mod tidy, vendor, download & graph - comandos vendor y graph
Detecta construcciones sospechosas que el compilador permite.
go vet ./...fmt mal utilizados.go test, por lo que compila los paquetes primero.Relacionado: Modernizadores go fix y analizadores go vet - reescrituras de corrección y analizadores personalizados
Inspecciona lo que ve el cargador antes de una compilación.
go list ./...
go list -m -versions golang.org/x/syncgo list imprime rutas de importación, estado de prueba y etiquetas de compilación aplicadas.-m cambia al modo de módulo para consultas de versión.go list -m all para volcar la lista completa de compilación para auditorías.Relacionado: go test, list & generate - salida JSON y plantillas
-f
Controla qué versión de Go ejecuta los comandos.
go env GOTOOLCHAIN
GOTOOLCHAIN=go1.26.0 go versionauto puede descargar un parche más nuevo que satisfaga go.mod.GOTOOLCHAIN=local prohíbe las descargas automáticas de la cadena de herramientas.go en go.mod para que los compañeros resuelvan la misma base.Relacionado: Compilación cruzada y proxies de módulos privados - variables de entorno para compilaciones y módulos
Versiones de la pila: Esta página fue escrita para Go 1.26.x (predeterminado Green Tea GC, modernizadores go fix - verifica el parche en la compilación), chi (última - verifica en la compilación), gin (última - verifica en la compilación), echo (última - verifica en la compilación), google.golang.org/grpc (última - verifica en la compilación), sigs.k8s.io/controller-runtime (última - verifica en la compilación), kubebuilder (última - verifica en la compilación), tinygo (última - verifica los objetivos de la placa en la compilación), wazero (última - verifica en la compilación), y golangci-lint (última - verifica el conjunto de linters en la compilación).
Revisado por Chris St. John·Última actualización: 18 jul 2026