Introducción
Go (también conocido como Golang) incorpora un formateador de código en el comando gofmt para, como su nombre lo dice, formatear código fuente de Go. Este comando le agrega indentaciones, espacios en donde son necesarios y cosas de esas. En resumen, hace el código bonito, algo así como beautifier.io hace con JavaScript.
Para usar este comando necesitamos tener instalado Go y agregar sus ejecutables a la variable PATH, justo como explico aquí.
Usar gofmt para formatear código de Go
Una vez que hemos agregado los ejecutables a la variable PATH del sistema, lo único que resta es invocar al comando. La sintaxis es:
gofmt banderas ruta
En donde banderas son aquellas que cambian la forma en la que el programa se comporta, y la ruta es un directorio o archivo que queremos que sea formateado.
Antes de que lo olvide, aquí está la documentación oficial; pero el comando que seguramente te servirá será:
gofmt -w archivo.go
Lo que hacemos es pasarle la bandera w. Si le pasamos esa bandera, el programa mirará al código que está en nuestro archivo fuente (llamado archivo.go en este caso), lo formateará y luego guardará los cambios en el mismo. Si algo falla, el archivo queda intacto, es decir, sin ser formateado pero no se borra el contenido.
En este caso sólo formateamos un archivo, pero también podemos formatear 2, 3 o más. Por ejemplo, así formateamos dos:
gofmt -w busquedaBinariaRecursiva.go narcisista.go
Así ambos archivos serán formateados. Podrían ser 3 o más, pero tranquilo, que si quieres formatear todo el contenido de un directorio o carpeta los desarrolladores de Go ya pensaron en ello; lo único que tenemos que hacer es pasar el nombre de la carpeta en lugar del nombre del archivo.
El siguiente comando formateará todos los archivos de Go que estén dentro de la carpeta pruebas.
gofmt -w pruebas
No te preocupes, si tienes archivos en la carpeta pero no tienen la extensión .go, el formateador no los tocará.
Para terminar pronto, si deseas formatear todos los archivos que estén dentro del directorio actual (o sea, del working directory) ejecuta:
gofmt -w .
No olvides el punto al final, recuerda que . y .. son directorios; son de un tipo especial pero al final son directorios. Y con eso indicamos que formatee todos los archivos del directorio en donde ejecutemos el comando.
Recuerda que hay más banderas, por ejemplo la l, que lista los nombres de archivos que no están formateados en lugar de imprimir el código. Cabe mencionar que si no le pasamos banderas no escribirá el código formateado en el archivo, simplemente lo imprimirá en la consola.
El enlace a la documentación lo dejé arriba. Con eso terminamos.
Pingback: Formatear código C online - Parzibyte's blog