Volver al blog

Compilación e instalación de programas de Go

Compilación e instalación de programas de Go

Go es un lenguaje de programación de tipado estático. Diseñado originalmente por Google, Go comparte similitudes con C en términos de sintaxis. Sin embargo, en cuanto a funcionalidad, Go viene con características adicionales como seguridad de memoria, recolección de basura, tipado estructural, etc. En los últimos años, Go ha ido ganando una popularidad increíble.

Esta guía repasará los pasos para compilar e instalar programas en Go con la ayuda de un programa Go de demostración.

Compilación e instalación de Go

Antes de continuar, hagamos un breve desglose de lo que significan la compilación e instalación en el contexto de la programación en Go.

En la programación en Go, la compilación se refiere al proceso de traducir el código fuente en un ejecutable binario. El ejecutable contendrá los códigos de soporte necesarios para que pueda ejecutarse de forma independiente en la plataforma de destino. A diferencia de Ruby/Python los programas, los binarios de Go generalmente no requieren ninguna dependencia del sistema para ejecutarse en un nuevo sistema.

Colocar el binario de Go en una ruta de archivo ejecutable en el sistema se conoce como instalar el programa. Como se mencionó anteriormente, esta guía demostrará la ejecución, compilación e instalación de un programa simple de Go “Hola mundo”.

Requisitos previos

Antes de comenzar, repasemos los requisitos previos que deberá cumplir para seguir el tutorial:

Primero, repasaremos rápidamente la instalación y configuración del entorno de programación Go. Para obtener una guía paso a paso más detallada sobre cómo instalar Go, consulte aquí.

Instalación de Go

Go está disponible en todas las plataformas principales (Windows, Linux y macOS). Está disponible oficialmente directamente desde Golang. Debido al nombre del sitio web, a menudo se hace referencia a Go como Golang. Aquí, siempre nos referiremos al lenguaje de programación Go como Go y al sitio web de Golang como Golang.

Golang ofrece documentación detallada sobre la instalación de Go para todas las plataformas compatibles. Sin embargo, el método oficial describe la instalación manual. Cada vez que se lanza una nueva versión, debe actualizar manualmente la instalación a la última versión. En su lugar, podemos instalar Go directamente usando APT (desde los repositorios predeterminados de Ubuntu) o snap (desde Snapcraft).

●     Instalación de Go usando APT

Go está disponible directamente desde los repositorios oficiales de Ubuntu. Sin embargo, no siempre es la última versión de Go. También hay dos variantes de Go disponibles en el repositorio de Ubuntu: golang-go y gccgo-go. Mientras que golang-go es la versión oficial de Golang, gccgo-go es el frontend de Go para GCC (como parte del compilador GNU). Generalmente, golang-go es la opción preferida.

Para instalar golang-go, ejecute el siguiente comando APT:

Go Programs apt update and go install

Verifique la versión de Go:

go version
●     Instalación de Go usando snap

Los snaps son paquetes universales de Linux que se pueden instalar en cualquier distribución compatible. Snapcraft enumera todas las distribuciones compatibles con guías de instalación. En Ubuntu, el soporte para snap está habilitado de forma predeterminada. Go también está disponible como snap. Debe tener en cuenta que no es mantenido oficialmente por Golang. El paquete snap es administrado por un proveedor externo.

Para instalar el snap de Go, ejecute el siguiente comando:

snap install go

Luego, verifique la versión de Go:

snap go version

Configuración de un proyecto Go

Nuestro sistema tiene todas las herramientas necesarias para comenzar a desarrollar aplicaciones en Go. Es hora de establecer nuestro proyecto de demostración. Primero, cree un directorio dedicado para nuestro proyecto:

mkdir demo_project

A continuación, cambie el directorio actual al directorio recién creado:

cd demo_project

Aquí, cree un nuevo archivo de texto llamado main.go:

El siguiente código presenta un programa simple que imprimirá “Hello world” cuando se ejecute. Copie el código:

Go Programs nano main_go

Guarde el archivo y cierre el editor. Verifique que el código esté funcionando correctamente:

run main_go

El compilador de Go compiló el archivo fuente en un archivo binario y lo ejecutó. También verifica que el programa esté funcionando correctamente.

Configuración del espacio de trabajo de Go

Para instalar correctamente los programas de Go, necesitamos configurar el espacio de trabajo de Go y GOPATH.

Primero, cree la estructura de directorios:

mkdir bin src

A continuación, debemos declarar el valor de GOPATH y agregarlo a PATH. Abra el archivo bashrc :

Go Programs nano bashrc

Agregue las siguientes líneas al final del archivo:

Go Programs nano bashrc modified

Recargue bashrc:

Verifique si el cambio fue exitoso:

path variable

Compilación de binarios de Go

Esta sección demostrará cómo compilar código de Go en un archivo binario independiente y distribuible. El binario contendrá no solo el código de Go, sino también código del sistema adicional para ejecutar el binario. Para compilar nuestro código, ejecute el siguiente comando:

build main_go

Si hay múltiples archivos de código de Go, use el siguiente comando:

Si no se especifica ningún archivo, Go buscará archivos de Go en el directorio actual y los compilará todos. Cada archivo binario lleva el nombre de su archivo fuente de Go. En este ejemplo, Go compiló el programa main. Ejecute el programa:

run main binary

Este programa está listo para ser distribuido a otras computadoras.

●     Cambiar el nombre del binario

Al compilar, Go seleccionará automáticamente un nombre para el archivo ejecutable. Hay dos opciones posibles a la hora de elegir el nombre.

  • Si módulos de Go se utilizan, entonces el ejecutable usará la última parte del nombre del módulo.
  • Si no se utiliza ningún módulo de Go, Go utilizará el nombre del directorio actual o el nombre del archivo fuente.

Trabajar con programas más complejos requiere una convención de nomenclatura diferente. En tales escenarios, estos métodos de nomenclatura predeterminados no son muy útiles. En tal situación, la mejor manera es personalizar la salida utilizando la bandera -o. Hagamos una demostración rápida. Compile el programa de Go con la bandera -o para designar un nombre de archivo diferente:

build binary with different name

La -o bandera le dice a Go que haga coincidir la salida con el argumento dado. En este caso, el ejecutable se ubicará bajo el directorio bin y se llamará hello.

A continuación, pruebe el nuevo archivo ejecutable:

bin hello_go

Instalación de programas de Go

Hasta ahora, hemos demostrado cómo compilar binarios de Go distribuibles a partir de archivos fuente. Podemos distribuirlos en otros sistemas, implementarlos y realizar pruebas. Sin embargo, no se pueden ejecutar fuera de sus directorios de origen. Si planea usar activamente el programa, esta limitación puede ser muy molesta. Para facilitar las cosas, podemos instalar los programas de Go y acceder a ellos desde cualquier lugar del sistema.

Para instalar el programa, ejecute el siguiente comando de Go en el directorio de origen:

go install

Este comando se comporta de la misma manera que go build. Sin embargo, en lugar de dejar el archivo ejecutable en el directorio de origen, se coloca en el siguiente directorio:

Las variables GOPATH y GOBIN le dicen a Go dónde buscar los espacios de trabajo de Go. GOPATH por defecto es la ubicación $HOME/go. Establecemos manualmente GOBIN en $GOPATH/bin. Para verificar la ubicación de GOPATH y GOBIN use el siguiente comando:

go env path

Verifique el contenido de $GOPATH/bin. Nuestro programa debería estar allí:

ls go path

Es hora de verificar si la instalación fue exitosa. Cambie el directorio actual a una ubicación diferente e intente ejecutar el programa de Go:

Go Programs check installation by running binary

Finalmente, debería poder tomar sus programas e instalarlos en su sistema. Puede usarlos desde donde sea y cuando sea que los necesite.

Consideraciones finales

En este tutorial, demostramos con éxito cómo usar las cadenas de herramientas de Go para compilar binarios ejecutables a partir de códigos fuente. Estos binarios se pueden usar en otros sistemas incluso sin ninguna configuración de Go. Finalmente, demostramos cómo instalar el programa Go para que esté disponible desde cualquier lugar del sistema.

Para los desarrolladores, CloudSigma ofrece soporte para la API de Go para administrar sus servidores en la nube. Permite editar recursos y escalar la infraestructura.

¡Feliz computación!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev es diseñador creativo en CloudSigma, centrado en una identidad empresarial coherente mediante el uso de canales de marketing tradicionales e innovadores. Es experto en fusionar la visión artística con el marketing estratégico para crear narrativas de marca impactantes.

Comentarios

Aún no hay comentarios. Sea el primero.