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:
- Un Ubuntu 20.04 configurado correctamente. Consulte cómo instalar y configurar un servidor Ubuntu.
- Un usuario no raíz con privilegios sudo. Se requiere permiso de root para realizar cambios a nivel del sistema. En este tutorial puede aprender cómo conceder permisos sudo a un usuario no root user.
- Un entorno de programación Go configurado correctamente.
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:
|
1 |
sudo apt update && sudo apt install golang-go |

Verifique la versión de Go:
|
1 |
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:
|
1 |
sudo snap install go --classic |

Luego, verifique la versión de Go:
|
1 |
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:
|
1 |
mkdir -v demo_project |

A continuación, cambie el directorio actual al directorio recién creado:
|
1 |
cd demo_project/ |

Aquí, cree un nuevo archivo de texto llamado main.go:
|
1 |
nano main.go |
El siguiente código presenta un programa simple que imprimirá “Hello world” cuando se ejecute. Copie el código:
|
1 2 3 4 5 6 7 |
package main import "fmt" func main() { fmt.Println("hello world!") } |

Guarde el archivo y cierre el editor. Verifique que el código esté funcionando correctamente:
|
1 |
go 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:
|
1 |
mkdir -pv $HOME/go/{bin,src} |

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

Agregue las siguientes líneas al final del archivo:
|
1 2 3 |
export GOPATH=$HOME/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin |

Recargue bashrc:
|
1 |
source ~/.bashrc |
Verifique si el cambio fue exitoso:
|
1 |
echo $PATH |
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:
|
1 |
go build main.go |

Si hay múltiples archivos de código de Go, use el siguiente comando:
|
1 |
go build |
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:
|
1 |
./main |

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:
|
1 |
go build -o bin/hello |

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:
|
1 |
./bin/hello |
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:
|
1 |
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:
|
1 |
$GOPATH/bin |
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:
|
1 |
go env GOPATH |
|
1 |
go env GOBIN |

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

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:
|
1 |
demo_project |

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!




Comentarios
Aún no hay comentarios. Sea el primero.