Google Go sobre Ubuntu
Esta mañana me encuentro en MundoGeek un artículo acerca del reciente lenguaje de programación Go, del que ya hablamos ayer. Me ha parecido sumamente interesante lo que comenta sobre cómo probar programar en Go sobre Ubuntu.
Me ha parecido tan curiosa su sencillez (no tanto como Python) que me he lanzado a probarlo, así:
- Lo primero, y antes de comenzar tenemos que compilar las herramientas de trabajo, de esta manera hemos de crear algunas variables de entorno en el fichero .bashrc, teniendo en cuenta que “~” es nuestra ruta de usuario, véase /home/usuario:
nano ~/.bashrc
- Y dentro del editor, añadimos las siguiente líneas, que podremos modificar según nos interese:
export GOROOT=$HOME/go_src
export GOOS=linux
export GOARCH=386
export GOBIN=$HOME/go_bin
export PATH=$PATH:$GOBIN
GOROOT: Mediante esta variable de entorno indicaremos dónde se guardará el código fuente de nuestras aplicaciones.
GOOS: Representa la etiqueta del sistema operativo para el que vamos a crear nuestras aplicaciones, podemos usar las siguientes etiquetas: “linux, darwin (Mac OS X) y nacl (Native Client)”.
GOARCH: Define la arquitectura para la que compilamos, aquí las opciones que tenemos son:”amd64 (64 bits), 386 (32 bits) y arm”.
GOBIN: Esta variable de entorno especifica dónde instalaremos los binarios de Go.
PATH: Aquí especificaremos el directorio en el que se instalarán las herramientas de Go, de esta manera podremos usarlas accediendo por su nombre, como cualquier otra herramienta lanzada desde consola. - Bien, ya tenemos modificado el .bashrc, ahora para aplicar los cambios y nos tener que reiniciar la consola, lanzamos la siguiente orden:
source ~/.bashrc - Una vez configurado nuestro entorno, sin el código fuente ni las herramientas, pasaremos a descargarlo. Dado que el sistema de control de versiones, Mercurial, no viene preinstalado en Ubuntu, lo instalamos nosotros mismos a través de la siguiente orden como superusuario.
sudo aptitude install mercurial
- Ahora sí podemos proceder a descargar el código fuente de Go:
hg clone -r release https://go.googlecode.com/hg/ $GOROOT
- Una vez tenemos el código fuente, el siguiente paso es compilarlo. Para ello necesitaremos instalar varias herramientas:
sudo aptitude install bison gcc libc6-dev ed - Ahora es el momento de compilar nuestro deseado Go:
mkdir $GOBIN
cd $GOROOT/src
./all.bashCuando esto haya terminado, y si no se ha producido ningún error (afortunadamente no ha sido mi caso), podremos encontrar las herramientas del “mini-entorno” de Go en el directorio definido en la variable de
entorno GOBIN.
- Ahora vamos a escribir nuestro primer programa en Go, el clásico “Holamundo”:
nano holaLinuxHispano.gopackage main
import “fmt”
func main()
{
fmt.Printf(“Hola mundo desde el Equipo de Linux Hispano\n”);
} - Guardamos el archivo y llega el momento de compilarlo (y linkarlo al mismo tiempo):
8g holaLinuxHispano.goSi deseamos compilarlo para 64 bits, usaremos el compilador “6g”:
6g holaLinuxHispano.go - El resultado obtenido será un archivo objeto holaLinuxHispano.8 ó holaLinuxHispano.8, con el código máquina de nuestra aplicación. Para crear el fichero ejecutable (esto es linkar los ficheros objeto) mediante el comando 8l (6l para 64 bits). Así:
8l hola.8
- Terminando, para ejecutar nuestra aplicación, por último:
./8.out
¿Habéis hecho alguna prueba más? Esperamos vuestros comentarios al respecto.