Despliegue de la Aplicación, Compilación

Una de las ventajas de Go, es que es una arquitectura multiplataforma. Es decir que soporta múltiples sistema operativos como Windows, macOS, Linux, etc. Go también soporta múltiples arquitecturas, es decir que puede utilizar diferentes tipos de procesadores. Una arquitectura esta definida por el número de cálculos que puede realizar el procesador y por la cantidad de memoria permitida. Hoy en día las computadoras que se comercializan son de 64 bit, pero existen algunas aun de 32. Los programas en Go permiten ejecutar en múltiples plataformas, con apenas unos cambios necesarios.

¿Cómo ver la información de la arquitectura en Go?

Para mostrar la información de la arquitectura, podemos hacer uso del comando de Go…

$ go env

En mi caso, mi arquitectura es de 64 bits.

GOARCH="amd64"

Por lo anterior es indispensable tener en cuenta en que tipo de arquitectura se va a desplegar la aplicación.

Por ello en la variable GOARCH indicamos la arquitectura mientras que en GOOS el sistema operativo.

¿Cómo compilar un programa en Go para ser ejecutado en Windows de 64 bits?

El siguiente es un ejemplo de una compilación para Windows de 64 bits.

$ GOOS=windows GOARCH=amd64 go build main.go

Esto generará un archivo .exe ejecutable.

El proceso anterior se puede realizar, aun cuando el equipo sea una Mac o Linux, no se requiere tener el sistema operativo al cual se desea compilar instalado.

Tabla de sistemas operativos y arquitecturas

Sistema Operativo Arquitectura
android arm
darwin 386
darwin amd64
darwin arm
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
linux 386
linux amd64
linux arm
linux arm64
linux ppc64
linux ppc64le
linux mips
linux mipsle
linux mips64
linux mips64le
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
openbsd arm
plan9 386
plan9 amd64
solaris amd64
windows 386
windows amd64