martes, 4 de diciembre de 2018

Comandos del compilador de Go

Compilador de Go

Una vez instalado el paquete de Go en tu máquina, es hora de conocer el compilador y los útiles comandos que nos proporciona. Para contar con estas ventajas hemos de abrir la terminal o consola que tengas en tu sistema operativo.

Sintaxis

Puedes invocar al compilador de Go mediante go. Su sintaxis es la siguiente:

$ go <comando> [argumentos]

Versión del compilador

$ go version
go version go1.11.1 windows/amd64

Nota: La información mostrada se corresponderá con la versión que hayas instalado.

Ayuda del compilador

Para obtener ayuda sobre los posibles comandos del compilador de Go:

$ go help

Para obtener ayuda detallada sobre un comando específico del compilador de Go:

$ go help <comando>

Por ejemplo:

$ go help version
usage: go version

Version prints the Go version, as reported by runtime.Version.

Información del entorno de Go

Para obtener obtener los valores del entorno de Go en nuestra máquina:

$ go env

Mostrará las variables de entorno y sus valores, incluyendo GOPATH, la cual apunta al directorio o carpeta donde está instalado el compilador de Go.

Compilación de un programa

Un compilador lee el código de nuestra aplicación, chequea posibles errores, resuelve dependencias (paquetes y librerías) y, si todo es correcto, transforma el código Go en código máquina, generando un código binario que entiende el ordenador y puede ejecutar.

Para compilar usamos el siguiente comando:

$ go build <[path/]archivo.go>

El resultado será un archivo ejecutable.

Ejecución de un programa

En el anterior comando (go build), compilamos el programa, obteniendo el archivo ejecutable, el cual, después, hemos de ejecutar para correr el programa.

Podemos automatizar este proceso mediante:

$ go run <[path/]archivo.go>

Este comando compila el programa, obteniendo un ejecutable en un directorio o carpeta temporal, y, automáticamente, lanza dicho programa.

Reformateo del código

El compìlador de Go posee un comando muy interesante, el cual permite reformatear el código. Esto permite, de forma automática, organizar el código por llaves, sangrías o tabulaciones, líneas en blanco, etc... de forma elegante.

Para reformatear un archivo de código:

$ go fmt <[path/]archivo.go>

Si deseamos reformatear el código de uno o varios paquetes:

$ go fmt [paquetes]

Descarga e instalación de paquetes

Cuando desarrollamos aplicaciones podemos utilizar paquetes de terceros. Para llevar a cabo esto, podemos instalar e instalar dichos paquetes desde un repositorio en internet, normalmente de Git. Esto se consigue con el siguiente comando:

$ go get [paquetes]

Puede ocurrir que un paquete pueda, a su vez, utilizar otros paquetes, por lo que tiene una dependencia. El comando anterior, también resuelve estas dependencias y las instala.

Los paquetes se instalan en el directorio pkg, dentro de la ruta donde apunte la variable de entorno GOPATH.

Actualización de paquetes

Los paquetes en Go, al igual que en otros lenguajes de programación, van evolucionando. Aparecen nuevas funcionalidades, se corrigen errores, se optimizan...

Para actualizar un paquete ya instalado a la última versión disponible:

$ go doc fix [paquetes]

Testeo de paquetes

Para probar paquetes y comprobar su estado, utilizaremos el siguiente comando:

$ go test [paquetes]

Listado de paquetes

Para visualizar la lista de paquetes de paquetes instalados

$ go list

Documentación de paquetes

Un paquete en Go es un conjunto de librerías de funciones o utilidades que extienden las posibilidades del lenguaje. El propio lenguaje Go ofrece un conjunto de paquetes estándar que conforman el lenguaje, pero también podemos crear nuestros propios paquetes y usar paquetes de terceros.

Los paquetes se suelen documentar, y podemos acceder a su documentacion mediante el siguiente comando:

$ go doc <paquete>

Por ejemplo:

$ go doc fmt

Un paquete puede contener múltiples funciones. Si queremos obtener documentación específica de una determinada función, podemos especificar el nombre del paquete, seguido de un punto y del nombre de la función. En el siguiente ejemplo obtendremos la documentación de la función Println() del paquete fmt:

$ go doc fmt.Println
func Println(a ...interface{}) (n int, err error)
    Println formats using the default formats for its operands and writes to
    standard output. Spaces are always added between operands and a newline is
    appended. It returns the number of bytes written and any write error
    encountered.

Enlaces de interés

No hay comentarios:

Publicar un comentario