DevToolPal
ES

Formateador de Go

Formatea código fuente Go con gofmt, compilado a WebAssembly y ejecutándose en tu navegador.

Se ejecuta en local, nunca se sube

Opciones

Sangría

Entrada

0 caracteres · 0 B

Salida

0 caracteres · 0 B

Qué hace esta herramienta

El formateador de Go reescribe el código fuente Go en el único estilo canónico que usa toda la comunidad de Go. Pega un archivo o un fragmento y vuelve con la sangría, los espacios, la agrupación de imports y los campos de struct y comentarios alineados de gofmt.

Ejecuta el gofmt real de la toolchain de Go, compilado a WebAssembly. Nada es aproximado: lo que ves aquí es exactamente lo que escribiría go fmt, así que puedes hacer commit del código formateado sin provocar diferencias en CI.

Cómo se usa

  1. Pega código Go o abre un archivo .go.
  2. El código formateado aparece a la derecha mientras escribes.
  3. Mantén la sangría con Tabulador para el código del que vayas a hacer commit. Elige 2 espacios o 4 espacios cuando el código vaya a un documento, una diapositiva o un sitio que muestre los tabuladores demasiado anchos.
  4. Copia o descarga el resultado.

Si el código no se puede analizar, la herramienta muestra el primer error con su línea y columna, por ejemplo expected ')', found '{', y puedes saltar directamente a esa línea.

Ejemplo

El ejemplo es un programa corto apretado en el menor número de líneas posible: imports separados por punto y coma, un struct en dos líneas y funciones sin espacios alrededor de los operadores. Después de formatearlo:

  • los imports pasan a ser un bloque entre paréntesis con un paquete por línea;
  • los campos del struct se ponen cada uno en su línea y sus tipos se alinean en columna;
  • if u.Age<18{ se convierte en if u.Age < 18 { con el cuerpo en su propia línea;
  • los literales compuestos reciben espacios después de las comas y los dos puntos.

Qué cambia gofmt y qué no

gofmt solo cambia la presentación. Nunca renombra identificadores, reordena declaraciones ni elimina imports sin usar; esas tareas corresponden a herramientas como goimports y go vet. También respeta tus saltos de línea donde tienen sentido, así que una lista de argumentos larga que hayas partido en varias líneas sigue partida.

Los comentarios se conservan y se vuelven a sangrar junto con el código que los rodea. Los comentarios al final de líneas consecutivas se alinean en columna, igual que los campos de un struct.

Consejos

  • Formatear es una forma rápida de encontrar una llave que falta: la posición del error suele señalar la primera línea después del fallo.
  • Ejecuta el formateador antes de compartir código en un issue o una revisión. Así los revisores pueden centrarse en lo que hace el código en lugar de en su aspecto.
  • En tu editor, activa “format on save” con gopls para que tus archivos coincidan siempre con esta salida.

Preguntas frecuentes

› ¿Es el gofmt de verdad?

Sí. El formateador es el código de gofmt de la toolchain de Go compilado a WebAssembly, así que la salida es byte a byte lo que imprime `gofmt` o `go fmt` en tu máquina.

› ¿Necesito una cláusula package?

No. Lo ideal es un archivo completo, pero gofmt también acepta una lista de declaraciones o unas cuantas sentencias, lo que viene bien para fragmentos copiados de una entrada de blog o de un chat.

› ¿Por qué se usan tabuladores para la sangría?

gofmt siempre sangra con tabuladores y alinea con espacios. Es la convención de Go, y los editores muestran los tabuladores con el ancho que prefieras. Si necesitas espacios para un documento o una diapositiva, elige 2 o 4 espacios y solo se sustituyen los tabuladores iniciales.

› ¿Se sube mi código?

No. El módulo WebAssembly se descarga una vez y el formateo se hace en local en tu navegador.